繁体   English   中英

从 PHP 获取数据的 JavaScript 问题

[英]JavaScript problem with fetching data from PHP

我是 PHP 新手,正在尝试从 PHP 获取数据到 JavaScript。 当我这样做时,JavaScript 总是给我同样的错误“Unexpected token < in JSON at position 0”。 我不知道该怎么办。 我被卡住了...帮助 帮助! X)

有代码

JavaScript

 var xmlhttp = new XMLHttpRequest();

 xmlhttp.onreadystatechange = function () {
 if (this.readyState == 4 && this.status == 200) {
    var myObj = JSON.parse(this.responseText);
    document.getElementById("demo").innerHTML = myObj.name;
  }
 };

xmlhttp.open("GET", "data.php", true);
xmlhttp.send();

PHP

<?php
  $myObj->name = "John";
  $myObj->age = 30;
  $myObj->city = "New York";

  $myJSON = json_encode($myObj);

  echo $myJSON;

?>

我认为您遇到了对象问题
对象 $myObj 需要在使用前初始化
我已更新代码(初始化对象)请在 php 页面上使用以下代码来解决问题

<?PHP
  $myObj = new StdClass();
  $myObj->name = "John";
  $myObj->age = 30;
  $myObj->city = "New York";

  $myJSON = json_encode($myObj);

  echo $myJSON; 

显然,为您的 XMLHttpRequest 返回的响应不是有效的 JSON 假设您的 PHP 代码示例是完整的,PHP 很可能会 (*) 在输出 JSON 字符串之前回显E_WARNING错误,尽管您的代码可以工作。 相关问题和解决方案在这里 最简单的检查方法是在浏览器的开发工具(所有主要浏览器都支持)中查看原始响应。 如果响应包含除 JSON 字符串之外的任何内容, JSON.parse()将抛出错误。

(*)这取决于您的错误报告设置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM