栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用jQuery进行跨域Ajax JSONP请求

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用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});


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/442101.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号