浏览器安全模型规定,XMLHttpRequest、框架(Frame)等只能在一个域中通信。从安全角度考虑,这个很合理;但也确实给分布式web开发带来了麻烦,例如想创建一个混搭的应用就有点不知所措了。
目前实现跨域操作的方式主要有:本地代理、Flash方式、Script标签。虽然AJAX本身不能进行跨域操作,但Script标签的src可以跨域访问,所以使用AJAX跨域操作可以看作都是基于Script标签的形式。
而jQuery中使用Script标签进行跨域操作可以分成两种形式:Script形式(对应的函数就是$.getScript())JSONP形式(JSON with Padding,对应的函数是$.getJSON())当然这两种函数都是$.ajax()的高层应用,所以使用$.ajax()也可以完成以上两种形式的AJAX跨域操作。
前面已经讲解了关于$.getScript()及$.getJSON()的使用,只不过那时都是同域操作,要改成跨域操作只需要修改url参数就可以了,将其改成"http://***.***.***/***.js"或"http://***.***.***?参数1=**&参数2=**&callback=?"
关于Script形式这里就不说了,因为大部分应用都是需要数据传输的(这里是JSON格式数据),所以只讲JSONP形式
前面说到$.getJSON("http://***.***.***?参数1=**&参数2=**&callback=?",function(data){})
如果是要向别人的网站请求数据,那么参数及参数数量需要具体查看该网站提供的API来做决定,而callback=?一般是必须的,jQuery会将那个?自动转化为jsonp*******(*为0~9的数字) 而jsonp*****()指向的就是后面的funcyion(data){}函数,jsonp*****(json对象)内的json对象作为返回数据就会作为参数data传入funcyion(data){}函数中。
http://www.douban.com/group/topic/3582852/
http://www.98web.net/blog/Article_detail.aspx?id=124
http://blogread.cn/it/article/1710?f=sr
相关推荐
本篇文章将详细讲解如何利用jQuery的jsonp方法实现Ajax跨域请求,以及如何在服务器端使用.Net的*.handler和WebService来返回JSON数据。 首先,理解JSONP的基本原理。JSONP是一种非官方的协议,通过动态创建`...
在jQuery中,使用`xhrFields`参数添加`withCredentials`设置为`true`,可以实现携带Cookie的跨域请求。 ```javascript $.ajax({ type: "GET", url: "http://example.com/remote-service", xhrFields: { ...
jQuery使用ajax跨域获取数据
ajax跨域实例 Ajax 跨域操作是指在不同的域名、协议或端口之间进行 Ajax 请求的操作。由于浏览器的同源策略限制,跨域操作需要在前端和服务端指定共同规则,以便实现安全的数据交换。在本文中,我们将讨论两个 ...
第1章 Web开发的发展与...第14章 jQuery中使用AJAX跨域操作 第15章 jQuery+PHP动态网站实践 第16章 jQuery键盘操作 第17章 jQuery可视化数据显示 本资料共包含以下附件: 《jQuery开发技术详解》光盘 源文件+ppt.rar
在jQuery中,我们可以使用`$.ajax()`方法来发起Ajax请求。对于跨域请求,我们需要设置`xhrFields`中的`withCredentials`为`true`,并且在服务器端开启CORS(Cross-Origin Resource Sharing)支持。 以下是一个简单...
**Ajax跨域请求问题与jQuery JSONP解析** 在Web开发中,Ajax技术被广泛用于实现页面的异步更新,但浏览器的同源策略(Same-Origin Policy)限制了Ajax请求只能向同源(协议、域名、端口均相同)的服务器发送。这在...
1. **jQuery的Ajax设置**:在使用Ajax进行跨域请求时,我们需要在`$.ajax()`方法中设置`dataType: 'jsonp'`。这告诉jQuery我们期望服务器返回JSON格式的数据,并通过JSONP机制来处理。 2. **JSONP原理**:JSONP的...
6. **Domain属性(仅限子域)**:在cookies中设置`domain`属性可以实现跨子域共享,但这仅限于同一主域下的子域名之间,对AJAX跨域请求帮助有限。 在实际应用中,开发者通常根据项目需求和服务器环境选择合适的跨域...
在jQuery中,处理跨域请求是一个常见的问题,因为AJAX请求默认也受限于同源策略。为了解决这个问题,业界总结出多种方法,文章主要介绍了三种: 第一种方式是通过代理服务器来转发AJAX请求。代理服务器和前端页面...
本示例“demo跨域ajax_DEMO_ajax跨域”着重解决C#后端与JavaScript前端之间的跨域限制。这里我们将深入探讨什么是跨域、为何会产生跨域问题以及如何通过C#和Ajax实现跨域通信。 首先,我们需要了解什么是跨域。根据...
在JavaScript的世界里,由于同源策略的限制,浏览器禁止了不同源之间进行AJAX通信,但JSONP(JSON with Padding)作为一种巧妙的方式,允许我们绕过这个限制,实现在jQuery中进行跨域请求。本篇文章将深入探讨JSONP...
通过以上步骤,你可以成功地使用AJAX跨域调用WCF服务。在实际项目中,需要根据具体需求调整配置,并结合安全措施,以确保服务的稳定性和安全性。在调试过程中,可以使用浏览器的开发者工具检查网络请求和响应,以...
2. jQuery中使用JSONP:jQuery的`$.ajax()`方法支持`dataType: 'jsonp'`,自动处理JSONP请求。用户只需提供回调函数名,jQuery会生成一个唯一的函数名插入到URL中,并在数据返回后执行该函数。 三、jQuery中的CORS ...
1. **$.ajax()**: 这是jQuery中最全面的AJAX函数,允许我们自定义请求的所有参数,如URL、类型(GET或POST)、数据、回调函数等。 2. **$.get()** 和 **$.post()**: 这两个简化版的函数分别用于GET和POST请求,适合...
在 JQuery 的 AJAX 实现中,我们可以使用 `jsonp` 方法来实现跨域请求,该方法可以将数据发送到远程服务器,实现跨域数据交互。 JQuery 的 AJAX 功能提供了多种方法来实现跨域提交参数和接收 JSON 数据,我们可以...
jQuery提供了使用ajax进行跨域请求的功能,以实现与不同源的服务器进行数据交互。 首先,要启用jQuery的跨域支持,我们需要设置`jQuery.support.cors`为`true`,这允许jQuery执行跨域请求。在示例代码中,有这样一...
本教程将重点讲解如何在ASP.NET Web环境中处理Ajax跨域访问。 一、理解同源策略 同源策略是浏览器为了保护用户安全而实施的一项安全机制,它禁止了一个源(domain)的文档或脚本获取或操作另一个源的资源。这意味着...
解决ie8、9Ajax跨域问题(前端):jsp引入此js,Jquery Ajax正常写
**Ajax跨域详解** 在Web开发中,Ajax(Asynchronous JavaScript and XML)技术允许我们实现页面的...通过分析这些文件,开发者可以更好地理解和实践Ajax跨域的解决方案,确保在实际项目中能够顺利地进行跨域数据交互。