Ajax:为什么成功显示为0?

Ste*_*ffi 16 ajax wordpress jquery

我在jquery中使用ajax,当我尝试在弹出窗口中显示结果时.然后始终显示警报0

success : function(results) { 
alert(results); }
Run Code Online (Sandbox Code Playgroud)

编辑:

 var dataToSend = {
    action:"ACTION_NAME",
    id : "12"
  };
  url_action = 'http://www.______.com/wp-admin/admin-ajax.php';
  $.ajax({
          url: url_action,
          type:'POST',
          data: dataToSend,
          success:function(results)
          {
             alert(results);
          }
   });
Run Code Online (Sandbox Code Playgroud)

zou*_*uth 35

尝试添加die();exit();在函数的最后一行.


小智 12

可能是你在没有登录的情况下尝试.所以你需要使用这个动作.

add_action('wp_ajax_nopriv_my_action','my_action_callback');

你会得到回应.:)


小智 10

我有一个类似的问题,admin-ajax.php返回0,即使我死了().

我的问题是add_action是在插件默认未加载的文件中声明的.

无论如何,如果您有问题,请在浏览器中检查__.com/.com/wp-admin/admin-ajax.php?action=youraction返回的内容.


Ste*_*ffi 7

找到了.

它需要die();在我自己的ajax函数结束之前添加function.php.

因为admin-ajax.php在我自己的ajax_action之后有一行脚本说:die('0'); 所以我们需要在die('0')之前使用die()脚本.


Pro*_*one 5

我错误地添加了"动作".你必须为你的行动添加前缀wp_ajax_gd_.

add_action('wp_ajax_gd_[ACTION NAME]', '[CALLBACK FUNCTION NAME]')
Run Code Online (Sandbox Code Playgroud)

并在JS jQuery帖子中:

var data = {
    'action': '[ACTION NAME]',
};
Run Code Online (Sandbox Code Playgroud)

我发现Wordpress的文档对这一部分非常不清楚.