使用PHP创建JSON数据并使用jQuery解析它

我正在使用PHP脚本来创建JSON数据.它看起来像这样:

{"Id":0}

现在,如果我把它放入一个文件然后使用ajax加载它就没问题了.但是,如果我从PHP脚本请求这个,我得到

parsererror | SyntaxError: Unexpected token ILLEgal

这是我用来从PHP加载JSON的代码

$.ajax({
                    url: 'check.PHP',
                    data: {
                        username: 'LOL',
                        password: '1234'
                    },
                    dataType: 'json',
                    type: 'POST',
                    success: function(data) {
                        $('#result').html('#Id=' + data.Id);
                    },
                    error: function(jqXHR, textStatus, errorThrown) {
                        $('#result').html(textStatus + ' | ' + errorThrown);
                    }
                });

这是PHP代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<?PHP

    echo '{"Id":0}';

?>

有任何想法吗?

解决方法:

Doctypes属于HTML文档,而不是JSON.

在你的PHP文件中尝试这样的东西(只有这个)

<?PHP
header('Content-Type: application/json');
?>
{"Id":0}

鉴于您发布的内容,我看不出有任何理由甚至涉及PHP.我猜你只发了一个非常简单的例子.如果它变得更复杂,涉及服务器端处理,数据检索等,请使用PHPjson_encode(),例如

<?PHP
header('Content-Type: application/json');
$data = array(
    'Id'  => 0,
    'foo' => $someOtherComplexVariable
);
echo json_encode($data);
exit;

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...