在您的代码片段中,您尝试从使用 jQuery 的 AJAX 功能托管在不同域上的服务。但是,跨域 AJAX 请求需要额外考虑才能成功。
默认情况下,浏览器将 AJAX 请求限制为同源 URL出于安全考虑。为了克服这个问题,您必须实现 JSONP(带有 Padding 的 JSON),它允许您使用 <script> 来发出跨域请求。 </script>
在你的服务器端代码中,你需要支持方法注入。当您将 jQuery 与“dataType: 'jsonp'”一起使用时,它会使用随机生成的方法名称将查询参数附加到 URL。然后,您的服务器必须使用此方法名称将 JSON 响应包装为函数调用。
确保您的服务器正确包装 JSON 响应查询字符串中传递的方法名称。例如,如果您的查询字符串包含 ?callback=my_callback_method,您的服务器应响应:
my_callback_method({您的 json 序列化数据});
一旦实现,您的 jQuery 代码应该成功解析JSON数据:
var result;
function jsonparser1() {
$.ajax({ type: "GET", url: "http://10.211.2.219:8080/SampleWebService/sample.do", dataType: "jsonp", success: function (xml) { alert(xml.data[0].city); result = xml.code; document.myform.result1.value = result; }, });
}
以上是如何使用 jQuery 发出跨域 AJAX JSONP 请求?的详细内容。更多信息请关注PHP中文网其他相关文章!