帮助将不胜感激。
在我的ASP页面中,我将返回此[{'id': '123'}]
。如果您查看源代码,那么您将在页面上看到的所有内容都没有。所以有道理,当我做到了,我将能够得到id。
我的代码(我知道它有效,因为我使用它来获取包含相同数据的平面文件。我现在要做的就是动态创建数据):
$.ajax({
type: "GET",
url: "http://localhost/GetCustNewID.asp?callback=?",
async: false,
dataType: "jsonp",
success: function(data){
$(data).each(function(){
alert(this.id)
});
},
error:function(x, e){
if (x.status === 0){
alert("You are offline.");
}
else if(x.status === 404){
alert("404 file not found error");
}
else if(x.status === 500){
alert("500 internal server error");
}
else if(e === 'parsererror'){
alert("200 but can't parse json response");
}
else if(e === 'timeout'){
alert("Request timed out.");
}
else {
alert("Unknown AJAX error");
}
}
});
我收到了"200 but can't parse json response"
。有什么我想念的吗?
谢谢。
答案 0 :(得分:2)
您正在返回(无效)JSON,但您的JS正在寻找JSON-P。
JSON-P资源将是:
Content-Type: application/javascript
value_of_callback_query_string_value([{"id": "123"}]);
与JSON响应相反:
Content-Type: application/json
[{"id": "123"}]
请注意,在JSON中,字符串以 double 引号分隔。您应该使用JSON Lint来测试输出,并使用库(有些列在JSON homepage末尾附近)而不是尝试手工制作JSON。
答案 1 :(得分:0)
好像你应该使用“json”而不是“jsonp”。