doukekui0914 2014-04-22 23:58
浏览 78
已采纳

未捕获的SyntaxError意外的数字JSON.parse

Trying to get json data through ajax request, but always get this error :

Uncaught SyntaxError Unexpected Number

Here is my js code :

var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';

    $.ajax({
        url: ajaxurl,
        type: 'POST',
        dataType: 'json',
        data: { action : 'getPills' },
        success: function(data){
            product = JSON.parse(data);
            console.log(product);
        },
        error: function(jqXHR, textStatus, errorThrown) {
            console.log(textStatus, errorThrown);
        }
    });

Here is my php code :

add_action('wp_ajax_getPills', 'getPills');
add_action('wp_ajax_nopriv_getPills', 'getPills');

function getPills(){

        $data = array(
            "test" => 'test'
        );

        error_log(json_encode($data), 0);

        echo json_encode($data);
}

called error_log to see what json data I trying to receive:

{"test":"test"}

I used ajxa+json before on other projects and it was all good. I have no idea how to fix it :(

  • 写回答

2条回答 默认 最新

  • doumi7861 2014-04-23 00:52
    关注

    Found the solution.

    I needed to add die() at the end of an AJAX handler function to prevent further content. Wordpress was adding 0 at the end of respond. Something like this:

    {"test":"test"}0
    

    So die() at the end of an AJAX handler function fixed the problem

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?