1 关于跨域,网上有很多很多的版本和说法。。。 这里笔者主要用几句话说明JQuery中的AJAX跨域问题;
2 JQuery中可以实现AJAX跨域访问,但是有条件:
(1 跨域访问时要多传入一个参数,习惯上叫jsonCallback ,参数值使用? ;
(2 被跨域访问的server端返回的只能是JSON数据,而且要处理所谓的jsonCallback请求参数(即把该值再回传到客户端),主要目的是为了对客户端请求的 callback function一个标识;
(3 跨域访问的实现使用$.getSJON() !
3 示例:
a.com/index.html 中跨域访问b.com?key=xxxx
a.com:
//... ...
$("#returnDiv").html("Loading ...")
var url = "b.com?key="+$(#inputKey).attr("value")+"&jsonCallback=?";
$.getSJON(url,function (data){$("#returnDiv").html(data)});
// ... ...
b.com :
处理请求的server端程序需要把结果以这样的形式返回:
jsonCallback(JSONdata)
其中的jsonCallback就是客户端请求时传过来的参数值,类似于jsonp12148XXXXXX ; JSONdata才是真正的返回数据!
所以不要指望在JQuery中直接任意地访问其他站点的数据,除非该站点提供JSON格式的返回数据并处理jsonCallback参数 ! 当然自己的项目就可以设计成可以接受跨域访问的,尤其是java的servelt项目,可以使用filter来统一处理jsonCallback参数,更加简便!!!
分享到:
相关推荐
Jquery跨域访问Web服务的demo源码
jQuery使用ajax跨域获取数据
利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
jquery ajax json 跨域不解释,代码很简单 没几句话
使用juery提交表单,实现ajax跨域请求
NULL 博文链接:https://sagewsg.iteye.com/blog/1670992
今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuery对于Ajax的跨域请求有两类解决...
本资源主要介绍了AJAX跨域的解决办法,以及解决方案间的比较
解决ie8、9Ajax跨域问题(前端):jsp引入此js,Jquery Ajax正常写
我们平时在同域中请求页面什么的时候不会有这种情况,这种情况大多发生在移动端的跨域请求中发生的。 ...就是当请求为非 HTTP中的 GET 和 POST的时候就不执行下面的代码,这样就可以只执行一...以上这篇浅谈jquery中ajax跨
ajax跨域操作,ajax跨域必须要前端和服务端指定共同规则,文档有列出操作实例。
JQuery AJAX跨域提交参数、接收json数据.docx
主要介绍了jquery中ajax跨域方法,结合实例分析了jQuery中使用getJSON及$.ajax实现ajax跨域的技巧,需要的朋友可以参考下
由于JS同源策略的影响,因此js只能访问同域名下的文档。因此要实现跨域,一般有以下几个方法: 一、处理跨域的方式: 1.代理 2.XHR2 HTML5中提供的... ajax本身是不可以跨域的, 通过产生一个script标签来实
跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免的需要进行跨域操作...
如何快速解决JS或Jquery ajax异步跨域的问题呢?下面小编就为大家分享一篇快速解决Jquery ajax异步跨域问题的方法,希望对大家有所帮助。一起跟随小编过来看看吧
摘要:Ajax 在 Web 2.0 时代起着非常重要的作用,然而有时因为同源策略 (SOP)(俗称:跨域问题(cross domain)) 它的作用会受到限制。在本文中,将学习如何克服合作限制。本文以asmx方式搭建webservice作为测试用...
通过jquery的ajax处理跨域请求的DEMO,代码比较简单,仅供学习参考。