【发布时间】:2011-04-22 16:25:56
【问题描述】:
每当我通过 jquery 对我设置的任何页面(本地或在我的服务器上)进行 JSONP 调用时,我得到的只是静默处理。 Firebug 报告 200 OK 并且响应看起来不错。我设置警报框以在成功时弹出或 失败,但都没有出现。我使用什么网址似乎无关紧要,什么都不会弹出。
但是如果我使用 twitter json 页面,那么我会按预期显示成功警报框,因此我的响应显然有问题,但我不知道是什么。
作为一个实验,我复制了 twitter json 响应并将其上传到我的 booroo.com 域。它应该是相同的,但仍然没有。我将响应页面上的标题设置为“application/json”和 utf-8,但仍然没有。
请帮忙,我已经花了一整天的时间,我不知道还有什么可以尝试的。
$.ajax({
dataType: 'jsonp',
// url: 'http://booroo.com/json.asp?callback=?',
url: 'http://twitter.com/users/usejquery.json?callback=?',
success: function () {
alert("Success");
},
error: function(x,y,z) {
alert("error"+x.responseText);
}
});
响应 json.asp 文件包含以下经典 ASP 标头,然后是从 twitter 复制的 json 响应(我尝试过其他的也没有任何成功。)
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Response.Expires = 0
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
response.ContentType="application/json"
Response.CodePage = 65001
Response.CharSet = "UTF-8"
%>({"test_param":12345});
【问题讨论】: