dounou9751 2017-06-17 22:27
浏览 94
已采纳

从服务器上的PHP文件获取数据作为JSON

I am using AJAX call to request the PHP file from the server. The PHP file is holding some objects. JSON.parse() is being used to convert the result into a JavaScript object. So the problem is after running the program I see the following error in the browser console:

Uncaught SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at XMLHttpRequest.xmlhttp.onreadystatechange (index.php:15)

I have no idea why the program is not working, although my Apache server, and PHP are running fine. The program I am working on:

index.php:

    <p id="demo"></p>

<script>

var xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        myObj = JSON.parse(this.responseText);
        document.getElementById("demo").innerHTML = myObj.name;
    }
};
xmlhttp.open("GET", "demo_file.php", true);
xmlhttp.send();

</script>

demo_file.php:

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

3条回答 默认 最新

  • dongzouqie4220 2017-06-17 22:58
    关注

    Maybe you have a warning that $myObj is not initialized:

    <?php
    header('Content-type: text/json');
    $myObj = new stdClass; 
    $myObj->name = "John";
    $myObj->age = 30;
    $myObj->city = "New York";
    echo json_encode($myObj);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同