使用jQuery进行跨域Ajax JSONP请求

使用jQuery进行跨域Ajax JSONP请求,第1张

使用jQuery进行跨域Ajax JSONP请求 概念解释

您是否正在尝试进行跨域AJAX调用?意思是,您的服务不在同一Web应用程序路径中托管吗?您的Web服务必须支持方法注入才能执行JSONP。

您的代码看起来不错,并且如果您的Web服务和Web应用程序托管在同一域中,则该代码应该可以正常工作。

当您执行时

$.ajax
dataType: 'jsonp'
意味着jQuery实际上是在查询URL中添加一个新参数。

例如,如果您的URL为,

http://10.211.2.219:8080/SampleWebService/sample.do
则jQuery将添加
?callback={some_random_dynamically_generated_method}

这种方法实际上是

window
对象中附加的一种代理。这没有什么特别的,但确实是这样的:

window.some_random_dynamically_generated_method = function(actualJsonpData) {    //here actually has reference to the success function mentioned with $.ajax    //so it just calls the success method like this:     successCallback(actualJsonData);}

摘要

您的客户端代码似乎很好。但是,您必须修改服务器代码以使用通过查询字符串传递的函数名称包装JSON数据。即

如果您要求查询字符串

?callback=my_callback_method

然后,您的服务器必须响应包装如下的数据:

my_callback_method({your json serialized data});


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5147684.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存