我正在使用PHP脚本创建JSON数据。看起来像这样:
{"Id":0}
现在,如果我将其放入文件中,然后使用ajax加载它就可以了。但是,如果我从PHP脚本中请求此命令,则会得到
parsererror | 语法错误:意外的令牌非法
这是我用来从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。我猜您只是发布了一个非常简单的示例。如果它变得更复杂,包括服务器端处理,数据检索等,请使用PHP的json_encode(),例如
json_encode()
<?php header('Content-Type: application/json'); $data = array( 'Id' => 0, 'foo' => $someOtherComplexVariable ); echo json_encode($data); exit;