首页 > 解决方案 > 尝试从 php 文件中获取 json 数据时出现错误

问题描述

我有一个 php 文件,其中有 JSON 变量,然后我对它们进行编码并在页面中回显它们。然后我从 JS 文件中使用 AJAX 得到它,但由于某种奇怪的原因我得到了一个错误。

我正在使用教程来帮助我完成此操作,但我尝试查看 stackoverflow 和其他网站。

auth.php:

<?php
$userAuth->access = 1;

$userJson = json_encode($userAuth);
echo $userJson;


?>

<script src="auth.js"></script>

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();

错误:

VM100:1 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

我的预期结果是控制台 log 1,这是 的值userAuth.access,但是我的实际结果是抛出这个错误。

感觉我已经尝试了所有方法,这可能是我的服务器的问题吗?

标签: javascriptphpjsonajax

解决方案


我建议放在die()后面,echo $userJson;否则文件底部的脚本标签也将与 JSON 一起返回。


推荐阅读