什么是AJAX
是异步的JavaScript 和 XML
面试题:
请使用原生js来发送AJAX要求
let request = new XMLHttpRequest()
request.open('get', '/xxx') // 设置request
request.send()
request.onreadystatechange = ()=>{
if(request.readyState === 4){
if(request.status >= 200 && request.status < 300){
console.log('申明要求胜利')
}else if(request.status >= 400){
console.log('申明要求失利')
}
}
}
同源战略
假如你不是 xxxxx.com 里的js 你就不能向这个域名发送 任何ajax要求
只要 协定+端口+域名 如出一辙才许可发ajax要求
【注重要】如出一辙 如出一辙 如出一辙 如出一辙
1、http://baidu.com 能够向 http://www.baidu.com 发送要求吗 ???
不能!!!要如出一辙才行
2、http://baidu.com:80 能够向 http://baidu.com:81 发送 ajax 要求吗???
不能!!!端口不一样
cors 跨域
cors 能够通知浏览器 不需阻挠
cross-origin resource sharing 跨站资源共享
非要相应就在服务器写:
response.setHeader('Access-Control-Allow-Origin','xxxxxx 网址 xxxxxx')
为何要有同源战略?
由于原页面用form 提交到另一个域名以后,
原页面的剧本没法猎取新页面中的内容
所以浏览器认为是平安的
而ajax是能够读取相应内容的
因而浏览器不能许可你如许做(要求已发出去了 只是没有相应罢了)
同源战略的实质是:
一个域名的js
在未经许可的情况下不得读取另一个域名的内容
但浏览器并不阻挠你向另一个域名发送要求