Javascript 在jQuery不工作的情况下发送JSON数据

Javascript 在jQuery不工作的情况下发送JSON数据,javascript,jquery,json,Javascript,Jquery,Json,正在提出的简单请求 var username = {'username' : 'tom'}; var request = $.ajax({ url : 'test.php', method : 'GET', data : JSON.stringify(username), dataType : 'json' }); request.done(function(response

正在提出的简单请求

    var username = {'username' : 'tom'};

    var request = $.ajax({
        url      : 'test.php',
        method   : 'GET',
        data     : JSON.stringify(username),
        dataType : 'json'
    });

    request.done(function(response) {
        response = JSON.parse(response);
        console.log(response);
    });

    request.fail(function(xhr, status, error) {
        console.log(error);
    });
PHP:


还是会出错,不知道为什么


这是因为服务器返回了无效的JSON字符串。尝试检查服务器返回的内容。如果服务器抛出错误,则可能发生这种情况。在您的例子中,我认为您试图解析的
错误
不是JSON字符串。你可能也想看看

您可以使用来验证JSON。

这是因为服务器返回的JSON字符串无效。尝试检查服务器返回的内容。如果服务器抛出错误,则可能发生这种情况。在您的例子中,我认为您试图解析的
错误
不是JSON字符串。你可能也想看看

您可以使用验证JSON。

这是您的问题,错误变量的值是多少?我注释掉了服务器代码。我相信问题在于
data:JSON.stringify({username:username}),
当我将
dataType:JSON
更改为html时,它会工作。奇怪的是,服务器甚至没有给出响应,因为我注释了代码以进行调试,但仍然得到了错误。我认为是
JSON.parse(error)
尝试注释。注释了它,但仍然没有得到服务器的响应,我取消了服务器代码的注释。这就是你的问题,错误变量的值是多少?我注释掉了服务器代码。我相信问题在于
data:JSON.stringify({username:username}),
当我将
dataType:JSON
更改为html时,它会工作。奇怪的是,服务器甚至没有给出响应,因为我对代码进行了注释以进行调试,但仍然收到错误。我认为是
JSON.parse(错误)
试着注释一下。注释掉了,但仍然没有收到服务器的响应,我取消了服务器代码的注释。好的,我想我知道了一些事,没什么运气是简化了代码好的,我想我知道了一些事,没什么运气是简化了代码
<?php
echo json_encode(array("bar" => "bar"));
?>