一尘不染

使用PHP创建JSON数据并使用jQuery对其进行解析

ajax

我正在使用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}';

?>

有任何想法吗?


阅读 261

收藏
2020-07-26

共1个答案

一尘不染

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

在您的PHP文件中尝试这样的操作(仅此操作)

<?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;
2020-07-26