尝试解析JSON时出现“位置0的JSON中的意外令牌$”

时间:2019-01-02 17:41:48

标签: javascript php json ajax

尝试将AJAX与传递给PHP并通过JavaScript提醒回到我的网页的变量一起使用。即使我正在使用JSON.parse(),也会获取“位置0的JSON中的意外令牌$”。

这并不是一个家庭作业问题,但是我几乎是所有与Web开发相关的事物的新手,而且这个问题似乎很基础。我要执行的操作是将文本表单发送到服务器,并使用alert()JS函数向消息和文本表单的值发出警报。我收到一个“意外令牌”错误,该错误是指我从PHP传递过来的JSON对象。这是导致错误的函数:

function alertContents(){
    if (httpRequest.readyState === XMLHttpRequest.DONE)
    {
        if (httpRequest.status === 200)
        {
            var response = JSON.parse(httpRequest.responseText);
            alert(response.computedString);
        }
    }
}

这是通过HTTP请求的PHP文件:

$name = (isset($_POST['userName'])) ? $_POST['userName'] : 'no name';
$computedString = "Hi, " . $name . "!";
$array = 
[
    'userName' => $name, 
    'computedString' => $computedString
];
echo json_encode($array);

无论回显的值是否为变量,该错误似乎都会发生。确切的错误是“未捕获的SyntaxError:JSON中意外的令牌$在XMLHttpRequest.alertContents的JSON.parse位置0。

编辑:将echo json_encode('$ array')更改为...($ array),以便它回显该变量。该错误仍然存​​在。

编辑2:已修复。我的问题是.php文件缺少“”标签,因此我的服务器将其作为纯文本而不是PHP。谢谢大家。

0 个答案:

没有答案