解决跨域访问的问题,大体有这么几种方法:
1、document.domain+iframe的设置。
2、动态创建script。
3、利用iframe和location.hash。
4、window.name实现的跨域数据传输。
5、使用HTML5 postMessage。
6、利用flash。
7、通过代理,js访问代理,代理转到不同的域。
8、Jquery JSONP(不能成为真正的Ajax,本质上仍是动态创建script)。
9、跨域资源共享(CORS) 这是HTML5跨域问题的标准解决方案。
如果你想用代理的模式去实现,那么代理的代码肯定是需要你自己去写的,自从JQuery出了JSONP后这个方法成为了比较主流的实现方法。代码如下:
$.ajax({
async:false,
url: 跨域的url,
type: "GET",
dataType: 'jsonp',
jsonp: 'jsoncallback',
data: 需要传输的数据,
timeout: 5000,
beforeSend: function(){
//jsonp 方式此方法不被触发.原因可能是dataType如果指定为jsonp的话,就已经不是ajax事件了
},
success: function (json) {//客户端jquery预先定义好的callback函数,成功获取跨域服务器上的json数据后,会动态执行这个callback函数
},
error: function(xhr){
//jsonp 方式此方法不被触发.原因可能是dataType如果指定为jsonp的话,就已经不是ajax事件了
//请求出错处理
alert("请求出错(请检查相关度网络状况.)");
}
});
其实jsonp的实现原理是动态创建js的封装,你自己也可写方法实现,代码如下:
<script type="text/javascript" src="" id="getData">
<script type="text/javascript">
function get(url){
var obj = document.getElementById("getData");
obj.src = url;
if(obj.readStatus == 200) {
alert(responseVal)
}
get("http://www.baidu.com");
}
</script>
- 等 最代码怎么获取牛币啊?
- 完 谁来告诉我最代码上线的时间,答对者给5牛币,先来先得
- 等 牛友们,大家好,你们做程序员多久了?现在还好吗?
- 完 在微信打开的页面里进行app下载
- 等 最代码2014年欢乐聚声会
- 完 mysql如何查询表数据并且对3个字段降序的SQL?
- 完 最代码牛币机制改革
- 完 成功的在bae上使用了自定义运行环境 jetty+nginx的组合,大家对jetty+nginx优化有哪些心得?
- 完 进来分享一下各位牛牛是如何加入最代码大家庭的?
- 等 为什么java BufferedImage类处理大图直接抛出内存溢出的异常?
- 等 最代码是否开发手机app客户端?
- 完 java程序员学习哪些java的技术?java有哪些框架?都能做哪方面的开发?
- 等 php格式网页文件怎么运行?
- 等 Java volatile值获取的问题
- 等 前端vue,拦截了登录后台后,返回的token,requests拦截token,但是发送请求的时候,就出现跨越异常
- 等 大专本科计算机科班怎么找到Java工作?
- 等 eclipse怎么把三个java swing游戏项目合成一个项目?
- 完 伙伴们,大家都有什么好的解压方式么,分享一下~
- 完 三四线城市,6、7k,运维工作,索然无味,想去辞职上培训,各位牛牛有什么建议嘛
- 等 jsp页面输入中文变成问号
- 等 JPA在线上运行一段时间后报错Caused by: java.lang.IncompatibleClassChangeError: null
- 等 PHP 这个规则用preg_match_all怎么写
- 等 大佬们,有没有知道Alfresco如何配置LDAP登录呢?
- 等 php的install目录是框架带的吗?
- 等 后台返回json,ajax解析并显示
- 等 如何用ajax上传图片时剪裁图片?
- 等 ajax在网站开发中都有哪些应用场景?
- 完 如何防止ajax被重复调用?
- 完 关于Shiro Ajax登录的问题
- 完 为什么js通过ajax前端修改头像不能立刻生效?
- 完 DWR与ajax有什么区别,分别适用的场景?
- 等 手机页面如何通过Ajax请求获取后端数据?
- 等 ajax里面的dataType和服务端setContentType有什么区别?
- 等 jquery ajax实现带进度条上传文件代码并且支持ie6到ie11的浏览器如何实现?
- 等 jquery $.ajax方法属性url如何编写来调用spring mvc http接口?
- 完 spring mvc如何实现不使用@ResponseBody注解接收前端ajax请求?