`

ajax跨域访问 JQuery 的跨域方法

阅读更多

数据迁移,点击查看详细:

 ajax跨域访问 JQuery 的跨域方法

11
5
分享到:
评论
9 楼 sumaolin 2011-08-24  
简单易懂,明白了jsonp的原理
8 楼 tony534 2010-06-01  
如果访问的就只是xml文件.也自己不能修改别人的代码怎么办呢?
7 楼 hongyang070 2010-05-21  
如果访问的就只是html文件.自己不能修改别人的代码怎么办?
6 楼 fantasybei 2010-05-21  
jsonp
5 楼 misswuyang 2010-05-21  
script
melin 写道
兄弟你在合肥那个公司... 在这遇到合肥的还很难的。我最近遇到跨域调用的问题,这面是我的解决方案。
最近在做门户时,遇到要跨域Ajax调用,对此做些总结,以前做施工调用的时候由于无法解决这个问题,还是用剪贴板绕过这个问题。
Ajax是现在web开发会经常应用的技术,为我们的系统提供了更好应用体验,而一般我们只是在系统内部相互调用,如果跨域的调用可能就要受到同源策略的限制,无法完成请求:
同源策略是指阻止代码获得或者更改从另一个域名下获得的文件或者信息。也就是说我们的请求地址必须和当前网站的地指相同。同源策略通过隔离来实现对资源的保护。这个策略的历史非常悠久Netscape Navigator 2.0时代就开始了。
但有一个很巧妙的办法就是在页面中使用动态代码元素,代码的源指向服务地址并在自己的代码中加载数据。当这些代码加载执行的时候,同源策略就不会起到限制,下面是一个简单的实例,看懂以后就知道其原理:
index.html中

function showPrice(data){
alert("Symbol:" + data.symbol + ", Price:" + data.price);
}
//214是公司环境,可以替换测试
//var url = "http://192.168.20.214:8080/examples/ticker.js"; 
var url = "ticker.js"; //Outer JS URL
var script = document.createElement('script');
script.setAttribute('src', url);

//load javascript
document.getElementsByTagName('head')[0].appendChild(script);

ticker.js中
var data = {symbol:'IBM', price:100};
showPrice(data);

jquery 1.2开始就用JSONP提供支持,简化了我们的开发:
剩下的我就不写了,更为详细请参考这篇文章:http://www.cnblogs.com/cfanseal/archive/2009/05/19/1460382.html



现在基本上都是利用scripts动态加载到页面来实现跨域访问的。
4 楼 giginet 2010-05-21  
jsonp
3 楼 melin 2010-05-21  
兄弟你在合肥那个公司... 在这遇到合肥的还很难的。我最近遇到跨域调用的问题,这面是我的解决方案。
最近在做门户时,遇到要跨域Ajax调用,对此做些总结,以前做施工调用的时候由于无法解决这个问题,还是用剪贴板绕过这个问题。
Ajax是现在web开发会经常应用的技术,为我们的系统提供了更好应用体验,而一般我们只是在系统内部相互调用,如果跨域的调用可能就要受到同源策略的限制,无法完成请求:
同源策略是指阻止代码获得或者更改从另一个域名下获得的文件或者信息。也就是说我们的请求地址必须和当前网站的地指相同。同源策略通过隔离来实现对资源的保护。这个策略的历史非常悠久Netscape Navigator 2.0时代就开始了。
但有一个很巧妙的办法就是在页面中使用动态代码元素,代码的源指向服务地址并在自己的代码中加载数据。当这些代码加载执行的时候,同源策略就不会起到限制,下面是一个简单的实例,看懂以后就知道其原理:
index.html中

function showPrice(data){
alert("Symbol:" + data.symbol + ", Price:" + data.price);
}
//214是公司环境,可以替换测试
//var url = "http://192.168.20.214:8080/examples/ticker.js"; 
var url = "ticker.js"; //Outer JS URL
var script = document.createElement('script');
script.setAttribute('src', url);

//load javascript
document.getElementsByTagName('head')[0].appendChild(script);

ticker.js中
var data = {symbol:'IBM', price:100};
showPrice(data);

jquery 1.2开始就用JSONP提供支持,简化了我们的开发:
剩下的我就不写了,更为详细请参考这篇文章:http://www.cnblogs.com/cfanseal/archive/2009/05/19/1460382.html
2 楼 satanest 2010-05-21  
getJSON也是用iframe实现的
1 楼 化蝶自在飞 2010-05-20  
确实够简洁,顶顶.

相关推荐

    Jquery跨域Ajax请求测试

    Jquery跨域访问Web服务的demo源码

    ajax跨域解决办法

    本资源主要介绍了AJAX跨域的解决办法,以及解决方案间的比较

    IE8、IE9 Ajax 跨域解决办法

    解决ie8、9Ajax跨域问题(前端):jsp引入此js,Jquery Ajax正常写

    JSONP实现Ajax跨域访问

    主要从三方面来通过jsonp来实现ajax跨域问题: 1.javascript方法 2.jquery $.ajax方法 3.jquery $.getJSON方法 不看会后悔的!

    jquery下利用jsonp跨域访问实现方法

    本文将给您介绍如何使用getJSON来实现异步跨域提交表单

    ajax 设置Access-Control-Allow-Origin实现跨域访问

    ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全。 即使使用jquery的jsonp方法,type设为POST,也会自动变为GET。如果...

    Jquery 跨域访问 具体实例

    这是一份非常有用的Jquery跨域访问实例,里面提供了3种方法,前台后台都有涉及,希望对你们会有所帮助

    JSONP跨域GET请求解决Ajax跨域访问问题

    实现方法有多种,本例采用jQuery+Ajax,完成后,在本地调试了一切ok,但是部署到服务器上以后就出现问题了,后台服务调用没有响应,怎么回事?代码没怎么改动,唯一修改的地方就是jQuery的ajax方法中的url地址。难道...

    jquery中ajax处理跨域的三大方式

    HTML5中提供的XMLHTTPREQUEST Level2(及XHR2)已经实现了跨域访问。但ie10以下不支持 只需要在服务端填上响应头: header("Access-Control-Allow-Origin:*"); /*星号表示所有的域都可以接受,*/ header("Access...

    ajax跨域请求js拒绝访问的解决方法

    求解决办法 代码如下: ajax{ url :“http://xxxx/app”...求方法 您可能感兴趣的文章:跨域请求之jQuery的ajax jsonp的使用解惑AJAX跨域请求json数据的实现方法jQuery.ajax 跨域请求webapi设置headers的解决方案JQuer

    Jquery Ajax 跨域调用asmx类型 WebService范例代码

    摘要:Ajax 在 Web 2.0 时代起着非常重要的作用,然而有时因为同源策略 (SOP)(俗称:跨域问题(cross domain)) 它的作用会受到限制。在本文中,将学习如何克服合作限制。本文以asmx方式搭建webservice作为测试用...

    jquery中ajax跨域方法实例分析

    本文实例分析了jquery中ajax跨域。分享给大家供大家参考,具体如下: JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问 方法一: jsonp之 get...

    JQuery Ajax 跨域访问的解决方案

    具体情况有: 一、本域和子域的相互访问: http://www.aa.com/和book.aa.com 二、本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用 iframe 三、本域和其他域的相互访问: http://www.aa.com/和...

    JQuery Ajax跨域调用和非跨域调用问题实例分析

    本文实例讲述了JQuery Ajax跨域调用和非跨域调用问题。分享给大家供大家参考,具体如下: 现在的互联网技术发展的越来越快,我们在开发过程中遇到的问题也越来越多。比如当我们需要进行跨域访问数据的时候该如何进行...

    jQuery使用ajax跨域请求获取数据

    跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免的需要进行跨域操作...

    IE9 IE8 ajax跨域问题的快速解决方法

    网上解决办法均是 在发起请求之前添加 jQuery.support.cors=true;...以上这篇IE9 IE8 ajax跨域问题的快速解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

    jquery的ajax和getJson跨域获取json数据的实现方法

    很多开发人员在使用jquery在前端和...目前浏览器端跨域访问常用的两种方法有两种: 1、通过jQuery的ajax进行跨域,这其实是采用的jsonp的方式来实现的。 jsonp是英文json with padding的缩写。它允许在服务器端生成

    jQuery跨域问题解决方案

    通过XMLHTTPRquest请求不同域上的数据,原来js跨域访问是后台有个处理路径“/test”的函数。下面给大家介绍jQuery跨域问题解决方案,有需要的小伙伴可以参考下

Global site tag (gtag.js) - Google Analytics