回调函数在 Axios 中不起作用 javascript
Callback function not working in Axios javascript
我正在尝试使用 VueJS 和 Axios 以及 Laravel 制作注册表单。
我编写了以下快捷函数来发出 post 请求并处理 laravel 表单验证错误:
window.post = function (vueResource, url, data, responseCallback){
let _rsrc = vueResource;
let _data = vueResource.$data;
if(data !== ''){
_data = data;
}
axios.post(url, _data).then(responseCallback).catch(function(error){
if(error.response.status == 422){
_rsrc.errors = error.response.data.errors;
return false;
}
throw error;
});
}
现在,当我使用以下代码发出 post 请求时:
post(this,'/api/register','',function(response){
alert(1);
});
请求完成,创建用户,但没有执行回调函数。没有警报。
为什么这不起作用?
对我有用。
let dataMock = {
"title": "SOme title",
"body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut"
}
post = function (vueResource, url, data, responseCallback){
axios.post(url, vueResource).then(responseCallback).catch(function(error){
if(error.response.status == 422){
_rsrc.errors = error.response.data.errors;
return false;
}
throw error;
});
}
post(dataMock,'https://jsonplaceholder.typicode.com/posts','',function(response){
alert(1);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.17.1/axios.js"></script>
请尝试 console.log。我猜你已经禁用了警报弹出窗口。
确保您没有禁用警报弹出窗口并重试
我正在尝试使用 VueJS 和 Axios 以及 Laravel 制作注册表单。 我编写了以下快捷函数来发出 post 请求并处理 laravel 表单验证错误:
window.post = function (vueResource, url, data, responseCallback){
let _rsrc = vueResource;
let _data = vueResource.$data;
if(data !== ''){
_data = data;
}
axios.post(url, _data).then(responseCallback).catch(function(error){
if(error.response.status == 422){
_rsrc.errors = error.response.data.errors;
return false;
}
throw error;
});
}
现在,当我使用以下代码发出 post 请求时:
post(this,'/api/register','',function(response){
alert(1);
});
请求完成,创建用户,但没有执行回调函数。没有警报。
为什么这不起作用?
对我有用。
let dataMock = {
"title": "SOme title",
"body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut"
}
post = function (vueResource, url, data, responseCallback){
axios.post(url, vueResource).then(responseCallback).catch(function(error){
if(error.response.status == 422){
_rsrc.errors = error.response.data.errors;
return false;
}
throw error;
});
}
post(dataMock,'https://jsonplaceholder.typicode.com/posts','',function(response){
alert(1);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.17.1/axios.js"></script>
请尝试 console.log。我猜你已经禁用了警报弹出窗口。
确保您没有禁用警报弹出窗口并重试