let request = new XMLHttpRequest()
request.open('get','/xxx')
request.send()
request.onreadystatechange = ()=>{
if(request.responseState === 4){
if(request.satatus>=200){
console.log('请求成功')
} else if(quest.status>=400){
console.log('请求失败')
}
}
}复制代码
使用AJAX必须满足三点
1.使用XMLHttpRequest发请求
2.服务器返回XML格式的字符串
3.JS解析XML,病更新局部页面
注意:
只有协议+端口+域名一模一样才允许发AJAX请求
1.http://baidu.com可以向http://www.baidu.com发AJAX请求吗?
2.http://baidu.com:80可以向http://baidu.com:81发AJAX请求吗?
答案都是不可以,必须一模一样。
其他请求方式不用同源,但是AJAX必须同源。这是为什么呢?
因为比如form方式发送请求后页面会刷新,浏览器认为这样的方式是安全的。
但是AJAX页面不会刷新,原网页就会读取响应的内容,就没有私密可言啦。
AJAX太安全,任何网站都不能再未经允许的情况下发请求,要突破同源策略,就要用到CROS
CORS
Cross-Origin Resource Sharing
全称是跨源资源共享
核心就是在server里面添加
response.setheader('Access-Control-Allow-Origin','http://.......')
复制代码