vue 跨域 使用XMLHttpRequest 亲测好使
javascript
let url='http://127.0.0.1:9000/pssnotifyyb?b=1'
//url='https://api.j4u.ink/v1/store/other/proxy/remote/moyu.json'
var xhr=new XMLHttpRequest()
xhr.open('GET',url,true)//第三个参数是是否异步请求,默认true
xhr.onreadystatechange=function(){
if(xhr.readyState===XMLHttpRequest.DONE && xhr.status===200){
console.log('请求成功',JSON.parse(xhr.responseText));
}
}.bind(this)
xhr.send('ss')
XMLHttpRequest 是怎么回事
XMLHttpRequest(XHR)底层是基于HTTP协议实现的。 XMLHttpRequest对象有一个readyState属性,表示XMLHttpRequest对象的状态。
- 当readyState为0时,XMLHttpRequest对象已经创建,但还未初始化。
- 当readyState为1时,XMLHttpRequest对象已经调用open()方法,但还未发送请求。
- 当readyState为2时,XMLHttpRequest对象已经发送请求,但还未接收到响应。
- 当readyState为3时,XMLHttpRequest对象已经接收到部分响应数据。
- 当readyState为4时,XMLHttpRequest对象已经接收到全部响应数据并解析完毕。
XMLHttpRequest对象还有一个status属性,表示HTTP响应状态码。常见的HTTP状态码有200表示请求成功,404表示请求的资源未找到,500表示服务器端内部错误等。
当XMLHttpRequest对象接收到HTTP响应时,客户端脚本会根据响应头中的Content-Type字段来判断响应内容的类型。
- 如果Content-Type为text/xml,客户端脚本可以使用responseXML属性来获取XML格式的响应数据。
- 如果Content-Type为text/plain或application/json,客户端脚本可以使用responseText属性来获取纯文本格式的响应数据,然后解析成JSON对象。