0

我不是 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"} 等......但它没有。我究竟做错了什么?

4

1 回答 1

1

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

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

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

使用php编码json?

于 2012-06-20T20:43:53.240 回答