我想使用 jquery 从客户端使用跨域 Web 服务
function TestService() {
$.ajax({
url: "http://service.asmx/GetGeoCompletionList",
data: { "prefixText":"eka", "count":"10", "contextKey":"Trace_0$Rus" },
dataType: "jsonp",
type: "GET",
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.statusText);
}
});
}
在错误处理程序中我有:
textStatus=解析错误
XMLHttpRequest 的状态为 200
,readyState 4
errorThrown 是 jQuery16103495572647140...78197139 未调用
我花了很多时间,但没能成功。你能帮我吗?
已更新
谢谢,我更改为 GET,并修复了我的数据字符串。
服务返回有效的 JSON 对象。我可以在其他站点的 firebug 上看到它,该站点使用此服务。但该网站正在获取通用 json(因为它有一个域)。
那么,如果网络服务返回有效的 JSON(不是 jsonp),我不能对 jsonp 使用相同的方法吗?我可以做些什么来整合来自其他域的 json Web 服务?
最佳答案
您传递并声称是 JSON 的字符串不是 JSON。
只能使用 "
字符来引用字符串。
此外,您无法发出跨域 JSON-P POST 请求。
关于javascript - JQuery ajax调用跨域webservice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6117924/