来自.post()请求的数字响应是添加0

时间:2013-01-16 11:48:58

标签: wordpress jquery

我正在使用Wordpress ajax api通过.post()ajax将php函数的结果发送到客户端。问题是返回0的值以及数值。因此,如果数值为“3”,我会得到“30”。

所以这里我有一个php函数,我用来抓取user_id并返回该用户相应的看不见的评论数。

 add_action("wp_ajax_return_unseen_comment_count","return_unseen_comment_count");
 function return_unseen_comment_count() {
    $user_id = $_POST['userId'];
    $count = get_unseen_comment_count($user_id);
    echo $count;
 }

如果我在$ count之后放置“test”这个词,我会得到“3test0”。

然后我使用间隔来检查新看不见的评论的功能。

$(document).ready(function() {
    var userId = fodAjax.user_id;
    var cmntCount = $(".cmnt-cnt").text();
    if (userId > 0) {
      setInterval(function() {
               data = {
                  action: 'return_unseen_comment_count',
                  userId: userId
               };
               $.post(ajaxurl, data, function (response) {  
                  console.log(response);                  
               });
      }, 10000); //10 seconds
    }
});

现在我在另一个函数中使用get_unseen_comment_count($user_id)来显示模板中的计数,它返回正确的值“3”,因此它没有做任何额外的事情应该添加0.我在这里缺少什么?< / p>

1 个答案:

答案 0 :(得分:1)

您必须在exit;声明之后写下echo

  

如果请求网址是AJAX请求失败   wp-admin / admin-ajax.php,它将返回-1或0,具体取决于   它失败的原因。 此外,如果AJAX请求成功,它   将返回0

Reference