使用AJAX和XMLHttpResponse响应JSON

时间:2012-06-20 20:08:17

标签: php javascript json xmlhttprequest

我不是100%如何说出这个问题。我有一个类似于

的URL的请求
example.php?miscData=JSON_FILE_NAME

现在JSON_FILE_NAME包含该文件的唯一数据。我的example.php设置类似于下面的

    xmlHttpReq.open('GET', strURL, true);
    xmlHttpReq.onload = function(e) {
        var data = JSON.parse(this.response);
    }
    xmlHttpReq.send();

请求文件具有处理呼叫成功的功能,并设置如下

function(retData, textStatus, xhr) { }

我预计retData将包含JSON数据{“name”:“Dominic”}等......但事实并非如此。我做错了什么?

1 个答案:

答案 0 :(得分:1)

来自http://pastebin.com/c7h8V9JK的服务器端代码正在响应HTML页面,而不是JSON响应。 PHP之外的代码只是HTML。很自然地,在请求页面时,服务器将返回您放在该php脚本之外的HTML。

请记住,最基本的AJAX请求在从服务器发送和接收数据方面没什么特别之处。想象一下,您在自己喜欢的选项卡式浏览器中打开了另一个选项卡,该选项卡将导航到您的AJAX请求导航到的URL。这就是你发出AJAX请求时的情况。

如果您尝试从example.php获取JSON数据,请首先从该文件中删除所有HTML,并使用JSON序列化程序序列化您尝试获取的数据。

encode json using php?