首页 > 解决方案 > console.log 对 Ajax 成功不起作用

问题描述

我在 Wordpress 上的网站上工作,

我在 PHP 中有这个函数:

add_action( 'wp_ajax_myfunction', 'myfunction' );
add_action( 'wp_ajax_nopriv_myfunction', 'myfunction' );
function myfunction() {

    require_once(ABSPATH."private/classes/utils.class.php");

    header('Content-Type: application/json');

    $listeLocalisation=Utils::listeLocalisation($_POST['localisation']);

    echo json_encode($listeLocalisation);
}

在我的 JS 文件中:

jQuery(".localisation").change(function () {
  jQuery.ajax({
    type: "POST",
    data: { action: "myfunction"},
    url: adminAjax,
    success: function (data) {
      console.log('TEST');
    }
  });
});

当我检查我的控制台时,我收到了良好的数据,但我的 console.log() 不起作用.. 没有显示任何内容。

谢谢你的帮助 !

标签: javascriptjqueryajax

解决方案


当您必须调试时,JS 真的很痛苦,但也许可以尝试以下方法:

  1. 成功后添加:
error: function(){
   console.log("Some message to display when the error happens");
}

看看会发生什么。如果您在控制台中看到错误消息,则说明您的 ajax 请求有问题。

  1. 禁用浏览器中的缓存,删除 cookie 并重新启动浏览器。

  2. 有时同样的事情也会发生在我身上,如果我 100% 确定我没有犯错,那么......好吧......这听起来不合逻辑和愚蠢,但删除你的整个 ajax 代码并输入(或复制粘贴) 同样的事情。我知道,我知道,但有时它对我有用。


推荐阅读