回调函数在Axios javascript中不起作用

时间:2018-01-20 13:49:21

标签: javascript vuejs2 axios

我试图用VueJS,Axios和Laravel制作一个注册表。 我编写了以下快捷函数来发布帖子请求并处理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(this,'/api/register','',function(response){
        alert(1);
 });

请求完成,创建用户,但不执行回调函数。没有警报。

为什么这不起作用?

1 个答案:

答案 0 :(得分:0)

它对我有用。



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>
&#13;
&#13;
&#13;

尝试改为使用console.log。我猜你已经禁用了警报弹出窗口。

确保您没有停用警告弹出窗口,然后重试