尝试将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。谢谢大家。