Javascript 我的客户赢了';t在使用.then和location.reload放置ajax后重新加载
我无法让客户机进入console.log,也无法在ajax发布后重新加载。put很好地进入数据库。我只需要重新加载就可以看到新的结果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() {
$(".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-我建议找出它的工作方式是否正确,因为它的真实代码没有问题