我正在使用PHP脚本来创建JSON数据.它看起来像这样:
{"Id":0}
现在,如果我把它放入一个文件然后使用ajax加载它就没问题了.但是,如果我从PHP脚本请求这个,我得到
$.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);
}
});
<!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
header('Content-Type: application/json');
?>
{"Id":0}
鉴于您发布的内容,我看不出有任何理由甚至涉及PHP.我猜你只发了一个非常简单的例子.如果它变得更复杂,涉及服务器端处理,数据检索等,请使用PHP的json_encode(),例如
<?PHP
header('Content-Type: application/json');
$data = array(
'Id' => 0,
'foo' => $someOtherComplexVariable
);
echo json_encode($data);
exit;