Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的客户赢了';t在使用.then和location.reload放置ajax后重新加载_Javascript_Ajax - Fatal编程技术网

Javascript 我的客户赢了';t在使用.then和location.reload放置ajax后重新加载

Javascript 我的客户赢了';t在使用.then和location.reload放置ajax后重新加载,javascript,ajax,Javascript,Ajax,我无法让客户机进入console.log,也无法在ajax发布后重新加载。put很好地进入数据库。我只需要重新加载就可以看到新的结果 $(".devour").on("click", function(event) { event.preventDefault(); var id = { id: $(this).attr("id") }; $.ajax("/", { type: "PUT", data: id, }).then(function() {

我无法让客户机进入console.log,也无法在ajax发布后重新加载。put很好地进入数据库。我只需要重新加载就可以看到新的结果

$(".devour").on("click", function(event) {
  event.preventDefault();
  var id = { id: $(this).attr("id") };

  $.ajax("/", {
    type: "PUT",
    data: id,
  }).then(function() {
    console.log("Updated Burger");
    location.reload();
  });
});
你能这样试试吗

$.ajax({
        type: 'PUT',
        url: 'http://example.com/api',
        contentType: 'application/json',
        data: JSON.stringify(data), // access in body
    })
    .then( 
          ()=>console.log("success"),
          ()=>console.log("FAIL"));//check for fail may be issue 

or try more explicit order way 
    $.ajax({
        type: 'PUT',
        url: 'http://example.com/api',
        contentType: 'application/json',
        data: JSON.stringify(data), // access in body
    }).done(function () {
        console.log('SUCCESS');
    }).fail(function (msg) {
        console.log('FAIL');
    }).always(function (msg) {
        console.log('ALWAYS');
    });

尝试捕捉承诺,看看它是否真的达到了然后部分或失败之前,您应该始终假设ajax调用可能失败,因此您应该在承诺链的末尾处理错误。如果添加
.catch(函数(err){console.dir(err)})
,控制台会显示什么?除此之外,浏览器开发工具中的“网络”选项卡还应该告诉您报告了什么错误。不幸的是,我对这一点还很陌生,所以我还没有学会承诺或.catch。我可以在调试器的网络部分看到Put,但这就是我现在得到的全部。谢谢你的建议。调试器的网络部分没有错误。PUT完成了所有操作,但页面在加载后不会重新加载。尽管OP已经使用了
,但为什么您推荐不兼容Promise/A+的旧API。然后
?@t.niese-我建议找出它的工作方式是否正确,因为它的真实代码没有问题