$.ajax({ type: "get", dataType: "jsonp", jsonpCallback: "jsonpCallback", url:"http://www.sczwfw.gov.cn/juspace/interface/auth/curMemberInner", contentType: "application/json; charset=utf-8", success : function(result) { var isLogin = result.success; if (isLogin) { console.log(result,88888); console.log("已登陆") } else { console.log("未登陆") } } });===》将这段代码改成axios
时间: 2024-02-10 22:33:39 浏览: 146
可以将这段代码改成以下 Axios 代码:
```javascript
axios.jsonp('http://www.sczwfw.gov.cn/juspace/interface/auth/curMemberInner', {
jsonpCallback: 'jsonpCallback'
}).then(response => {
const isLogin = response.data.success;
if (isLogin) {
console.log(response.data, 88888);
console.log('已登陆');
} else {
console.log('未登陆');
}
}).catch(error => {
console.log(error);
});
```
需要注意的是,Axios默认是不支持 JSONP 的,因此需要使用自定义适配器实现JSONP请求。在此之前,需要先在项目中安装 `jsonp` 库。下面是一个简单的 Axios JSONP 适配器实现示例:
```javascript
import originJSONP from 'jsonp'
function jsonp(url, data, options) {
url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)
return new Promise((resolve, reject) => {
originJSONP(url, options, (err, data) => {
if (!err) {
resolve(data)
} else {
reject(err)
}
})
})
}
function param(data) {
let url = ''
for (var k in data) {
let value = data[k] !== undefined ? data[k] : ''
url += `&${k}=${encodeURIComponent(value)}`
}
return url ? url.substring(1) : ''
}
// 将 jsonp 函数挂载到 axios 上
axios.jsonp = function (url, data, options) {
return jsonp(url, data, options)
}
```
在自定义适配器中,我们将 Axios 的请求配置转换为 jsonp 函数的参数,并返回一个 Promise 对象。最后,将 jsonp 函数挂载到 Axios 上,就可以使用 `axios.jsonp` 进行 JSONP 请求了。
阅读全文