Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未捕获的语法错误意外数字JSON.parse_Php_Jquery_Ajax_Json_Wordpress - Fatal编程技术网

Php 未捕获的语法错误意外数字JSON.parse

Php 未捕获的语法错误意外数字JSON.parse,php,jquery,ajax,json,wordpress,Php,Jquery,Ajax,Json,Wordpress,试图通过ajax请求获取json数据,但始终会出现以下错误: Uncaught SyntaxError Unexpected Number 以下是我的js代码: var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>'; $.ajax({ url: ajaxurl, type: 'POST', dataType: 'json', data: { ac

试图通过ajax请求获取json数据,但始终会出现以下错误:

Uncaught SyntaxError Unexpected Number
以下是我的js代码:

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);
        }
    });
调用error_log查看我试图接收的json数据:

{"test":"test"}
我以前在其他项目上使用过ajxa+json,一切都很好。我不知道如何修复它:

通过指定数据类型:“json”,传递给success函数的数据将被反序列化为一个对象,因此您不需要对其调用json.parse

尽管这会给您一个类似SyntaxError的错误:意外的标记o和非意外的SyntaxError意外数字。您应该检查开发人员工具以查看服务器返回的确切内容。

通过指定数据类型:“json”,传递给success函数的数据将已经反序列化为对象,因此您不需要对其调用json.parse

尽管这会给您一个类似SyntaxError的错误:意外的标记o和非意外的SyntaxError意外数字。您应该检查开发人员工具,以准确查看服务器返回的内容。

找到了解决方案

我需要在AJAX处理程序函数的末尾添加die,以防止进一步的内容。Wordpress在响应末尾添加了0。大概是这样的:

{"test":"test"}0
因此,在AJAX处理程序函数结束时,die修复了问题,找到了解决方案

我需要在AJAX处理程序函数的末尾添加die,以防止进一步的内容。Wordpress在响应末尾添加了0。大概是这样的:

{"test":"test"}0

因此,在AJAX处理函数结束时死亡修复了问题

感谢您的回复,我不知道。正如您所写,我删除了JSON.parse,但仍然得到了错误:parserrror SyntaxError{stack:…,message:Unexpected number}感谢您的回复,我不知道。正如您所写,我删除了JSON.parse,但仍然出现了错误:parserrror SyntaxError{stack:…,message:Unexpected number},因为事实证明admin-ajax.php中始终有一个0,请访问url或删除函数进程。这个答案让我省去了一些沮丧,因为我觉得有些事情出了问题。非常感谢。这里有更多信息:5年后,你仍然为我节省了很多时间,因为事实证明admin-ajax.php中总是有一个0,请访问url或删除函数进程。这个答案让我省去了一些沮丧,因为我觉得有些事情出了问题。非常感谢。更多信息:5年后,你仍然为我节省了很多时间
{"test":"test"}0