Jquery Ajax done()或成功回调未在wordpress中触发
我使用Ajax调用发出POST请求,随后调用API。然后返回结果。我最初使用的是正在启动的success回调,但由于某种原因,它停止了工作,我读到它已被done替换,因此我尝试更改它。我不知道为什么,但现在“完成”和“成功”都不会启动。我最近更新了浏览器,所以可能与此有关。我还在Wordpress中运行它。在网络选项卡中返回200,状态和消息编码为JSON。jQuery版本是1.12.4。虽然Ajax调用已完成,但控制台中没有任何日志记录,对话框也不会打开。我怎样才能让它工作Jquery Ajax done()或成功回调未在wordpress中触发,jquery,ajax,wordpress,callback,Jquery,Ajax,Wordpress,Callback,我使用Ajax调用发出POST请求,随后调用API。然后返回结果。我最初使用的是正在启动的success回调,但由于某种原因,它停止了工作,我读到它已被done替换,因此我尝试更改它。我不知道为什么,但现在“完成”和“成功”都不会启动。我最近更新了浏览器,所以可能与此有关。我还在Wordpress中运行它。在网络选项卡中返回200,状态和消息编码为JSON。jQuery版本是1.12.4。虽然Ajax调用已完成,但控制台中没有任何日志记录,对话框也不会打开。我怎样才能让它工作 $.ajax({
$.ajax({
type: 'POST',
dataType: 'json',
url: ajax_object.ajax_url,
data: {
'action': $action,
'product_id': $product_id,
},
success: function(data) {
console.log(data.message);
$( "#dialog" ).text(data.message);
$( "#dialog" ).dialog( "option", "title", "API - " + data.status );
$( "#dialog" ).dialog("open");
}
});
$.ajax({
type: 'POST',
dataType: 'json',
url: ajax_object.ajax_url,
data: {
'action': $action,
'product_id': $product_id,
}
}).done(function(result) {
console.log(result.message);
$( "#dialog" ).text(result.message);
$( "#dialog" ).dialog( "option", "title", "API - " + result.status );
$( "#dialog" ).dialog("open");
});
从jQuery中删除dataType参数,AJAX在trigger.done()之前使用的JSON转换将失败,因为API中的JSON中缺少/出现错误。您可以通过在.done()之后添加.fail()来检查它,您将看到它是如何触发错误的
$.ajax({}).done().fail(error => console.log(error)
jQuery.ajax
尝试根据
指定的dataType
参数或由
服务器。如果转换失败(例如,如果JSON/XML无效),则
错误回调被触发
错误日志上写的是什么?错误:函数(jqXHR,textStatus,error){console.log(jqXHR,textStatus,error)}谢谢,消息前会显示一些其他文本。这是一些调试信息,我没有意识到这会影响响应。当我移除它时,它又开始工作了