首页 >web前端 >js教程 >如何使用 jQuery 发出跨域 AJAX JSONP 请求?

如何使用 jQuery 发出跨域 AJAX JSONP 请求?

Barbara Streisand
Barbara Streisand原创
2024-11-25 15:21:13410浏览

How Can I Make Cross-Domain AJAX JSONP Requests with jQuery?

使用 jQuery 发出跨域 AJAX JSONP 请求

在您的代码片段中,您尝试从使用 jQuery 的 AJAX 功能托管在不同域上的服务。但是,跨域 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn