Jquery Ajax done()或成功回调未在wordpress中触发

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调用发出POST请求,随后调用API。然后返回结果。我最初使用的是正在启动的success回调,但由于某种原因,它停止了工作,我读到它已被done替换,因此我尝试更改它。我不知道为什么,但现在“完成”和“成功”都不会启动。我最近更新了浏览器,所以可能与此有关。我还在Wordpress中运行它。在网络选项卡中返回200,状态和消息编码为JSON。jQuery版本是1.12.4。虽然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)}谢谢,消息前会显示一些其他文本。这是一些调试信息,我没有意识到这会影响响应。当我移除它时,它又开始工作了