问:我已经使用名为userAuth的PHP创建了一个JSON对象,并尝试使用Ajax将其传递给JS文件,这是我的PHP代码(auth.php):
$userAuth->access = 1;
json_encode($userAuth);
这是我的JS(auth.js):
const xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
const userAuth = JSON.parse(this.responseText);
console.log(userAuth.access);
}
};
xmlhttp.open("GET", "auth.php", true);
xmlhttp.send();
但是我在控制台中被抛出此错误:
Uncaught SyntaxError: Unexpected token A in JSON at position 0
at JSON.parse (<anonymous>)
at XMLHttpRequest.xmlhttp.onreadystatechange (auth.js:4)
xmlhttp.onreadystatechange @ auth.js:4
XMLHttpRequest.send (async)
(anonymous) @ auth.js:10
我不知道为什么它不起作用,我已经按照教程学习了
答:首先请使用登录js文件检查响应:console.log(responseText)。
检查来自php的json是否正确,并在js文件中获取相同的内容。
可以根据控制台结果或JSON.parse(JSON.stringify(responseText))使用JSON.stringify(responseText)