Axios 不适用于 safari 10.1,有时也不适用于 mozila 56
Axios doesn't work on safari 10.1 and sometime on mozila 56
我的 laravel vue2 网站出现问题。我正在使用 axios 进行登录和其他表单提交。 Axios 在 chrome 和 mozila 上运行良好,但一些用户报告说他们在 mozila 中获得 'Error: Network error',在 safari 10.1 中获得 undefined
。
这是我正在使用的代码。
login(){
this.show=true;
var self=this;
axios({
method: 'post',
url: this.sl+'/user/login',
data: this.user
})
.then(function (response) {
self.show=false;
if(response.data.status=200){
self.showSucc(self.t('Done'), response.data.done)
setTimeout( ()=>{
window.location = response.data.url;
}, 1000 );
}
})
.catch(function (error) {
self.show=false;
alert(error); // shows undefined
alert(error.error);
if (error.response) {
if(error.response.data.password){
self.showWarn(self.t('Error'), error.response.data.password[0]);
}
if(error.response.data.error){
self.showWarn(self.t('Error'), error.response.data.error);
}
//console.log(error.response.data.password);
} else if (error.request) {
self.show=false;
console.log("Something went wrong");
} else {
self.show=false;
console.log('Error', error.message);
}
});
}
alert(error); // shows undefined
如何让 axios 工作?注意:我为旧版浏览器添加了 polyfill,它解决了 IE 11 的问题。
谢谢。
我解决了 Preflight request
的问题。某些浏览器在发送实际 ajax 请求之前发送 OPTION 请求。所以我所要做的就是确保 OPTION 请求获得 200 的状态代码。就是这样。
我的 laravel vue2 网站出现问题。我正在使用 axios 进行登录和其他表单提交。 Axios 在 chrome 和 mozila 上运行良好,但一些用户报告说他们在 mozila 中获得 'Error: Network error',在 safari 10.1 中获得 undefined
。
这是我正在使用的代码。
login(){
this.show=true;
var self=this;
axios({
method: 'post',
url: this.sl+'/user/login',
data: this.user
})
.then(function (response) {
self.show=false;
if(response.data.status=200){
self.showSucc(self.t('Done'), response.data.done)
setTimeout( ()=>{
window.location = response.data.url;
}, 1000 );
}
})
.catch(function (error) {
self.show=false;
alert(error); // shows undefined
alert(error.error);
if (error.response) {
if(error.response.data.password){
self.showWarn(self.t('Error'), error.response.data.password[0]);
}
if(error.response.data.error){
self.showWarn(self.t('Error'), error.response.data.error);
}
//console.log(error.response.data.password);
} else if (error.request) {
self.show=false;
console.log("Something went wrong");
} else {
self.show=false;
console.log('Error', error.message);
}
});
}
alert(error); // shows undefined
如何让 axios 工作?注意:我为旧版浏览器添加了 polyfill,它解决了 IE 11 的问题。
谢谢。
我解决了 Preflight request
的问题。某些浏览器在发送实际 ajax 请求之前发送 OPTION 请求。所以我所要做的就是确保 OPTION 请求获得 200 的状态代码。就是这样。