笔记之前先饿补一下Src和Href的区别及应用:
Src:source的缩写,页面加载时同步指向内部或外部资源的位置,资源内容将会嵌入到文档中当前标签所在位置,加载此指定项时会会暂停其他资源的下载,等待此资源下载完成才会进行其他资源下载。这里指定的资源可以为任何域名下的资源,也就是不存在同源问题。
Href:Hypertext Reference的缩写,页面加载时异步指向内部或外部资源位置并与其建立连接,加载此指定项时会继续其他资源的下载。这里指定的资源也可以为任何域名下的资源,不存在同源问题。
同源/非同源区分方式
在访问的路径中,只要协议、域名、端口有任何一个不同,都是一个不同源的地址。
Ajax跨域
在一个域名下使用Ajax技术请求非同源的资源。
一、JSONP Ajax 跨域
1)、原理
Jsonp Ajax 跨域原理很简单,它应用了Src请求的路径可以为非同源资源,srcipt的Src属性指向一个Servlet并为其添加一个callback参数,并需要servelt与它积极配合,返回结果是调用callback指定的JS函数格式,前端执行callback指定的JS函数。
2)、Jquery Jsonp Ajax 跨域例子 基于Spring MVC
前段代码:
jQuery.ajax({ type : "GET", //此访问将会使用GET方式访问 jsonp : "callback", jsonpCallback : "hellowCrossDomain", dataType : "jsonp", url : "", data : "appid=1", async : false, success : function(result){ //会在回调函数执行后 执行 }, error:function(){ } });
//跨域访问服务端成功 回调函数
function hellowCrossDomain(result){
}
以上参数说明:
1、jsoup:‘callback’--> 回调函数参数名称(Parameter的KEY),默认为callback,此参数名可以任意指定。
2、jsonpCallback :"hellowCrossDomain" -->回到函数参数值(Parameter的VALUE),如果不指定系统会为任意指定一个函数名称。
3、 dataType : "jsonp"-->指定反馈参数类型
4、async : false-->用以指定此Ajax是否异步访问,true:异步(默认),false:同步
5、url:""-->访问参数地址
二、java代码
@ResponseBody @RequestMapping(value = "任意URL地址") public String hellowCrossDomain(HttpServletRequest request, HttpServletResponse response){ String jsonpCallback = ""; response.setContentType("text/plain"); jsonpCallback = request.getParameter("callback");//回调函数的参数名称 jsonpCallback+="([{'id':'1'},{'id','2'}])"; //返回列表 return jsonpCallback; }
相关推荐
jQuery AJAX JSONP 跨域调用是Web开发中解决同源策略限制的一种方法,它允许JavaScript从不同域名的服务器上获取数据。同源策略是浏览器实施的安全策略,阻止了一个源的文档或脚本访问另一个源的属性。JSONP(JSON ...
在JavaScript的世界里,由于同源策略的限制,浏览器禁止了不同源之间进行AJAX通信,但JSONP(JSON with Padding)作为一种巧妙的方式,允许我们绕过这个限制,实现在jQuery中进行跨域请求。本篇文章将深入探讨JSONP...
jQuery跨域调用主要是通过JSONP(JSON with Padding)和CORS(Cross-Origin Resource Sharing)这两种机制来实现的。JSONP是一种非官方的跨域数据交互协议,而CORS是W3C标准,允许服务器声明哪些来源可以访问其资源...
总之,jQuery提供了一种简单易用的方式来处理跨域Ajax请求,无论是通过JSONP还是CORS。理解并熟练掌握这些技术,对于构建现代Web应用至关重要。在实际项目中,根据具体需求和安全考虑选择合适的方法,确保数据能够...
【JSONP跨域调用与百度搜索框智能提示】 在Web开发中,由于浏览器的同源策略限制,JavaScript无法直接发起跨域请求。为了解决这个问题,JSONP(JSON with Padding)应运而生。JSONP是一种绕过同源策略的技术,通过...
"jsonp跨域请求"可能是服务器返回的示例数据,模拟了JSONP的跨域请求过程。 总结,JSONP和CORS是解决JavaScript跨域问题的两种主要方法,它们各有优缺点,适用于不同的场景。JSONP简单易用,但安全性较低;CORS则更...
**Ajax跨域请求问题与jQuery JSONP解析** 在Web开发中,Ajax技术被广泛用于实现页面的异步更新,但浏览器的同源策略(Same-Origin Policy)限制了Ajax请求只能向同源(协议、域名、端口均相同)的服务器发送。这在...
在使用jQuery处理JSONP请求时,可以通过jQuery提供的Ajax方法来实现。而$.getJSON方法可以看作是$.ajax的一个简化版本,专门用于发送GET请求。当调用$.getJSON方法时,会自动在请求的URL中添加callback参数,而该...
1. **jQuery的Ajax设置**:在使用Ajax进行跨域请求时,我们需要在`$.ajax()`方法中设置`dataType: 'jsonp'`。这告诉jQuery我们期望服务器返回JSON格式的数据,并通过JSONP机制来处理。 2. **JSONP原理**:JSONP的...
使用jQuery提供的接口,开发者可以很容易地实现JSONP跨域请求,具体方法包括$.ajax()、$.getJSON()和$.getScript()等。在实际使用过程中,需要注意回调函数名的正确传递和处理,以及确保服务器端正确响应JSONP请求。...
在AJAX中,当需要进行跨域请求时,可以通过设置`dataType`为`jsonp`来触发JSONP机制。如示例代码所示: ```javascript $.ajax({ url: 'http://www.xxx.cn/lalala?method=10082&page=1&pageSize=10', type: 'GET...
本文将详细介绍JQuery、ajax以及jsonp跨域访问的知识。 首先,jQuery作为一个广泛使用的JavaScript库,其提供的ajax方法极大地简化了HTTP通信操作。然而,当尝试通过ajax访问不同域下的资源时,就会遇到跨域限制...
以下是实现AJAX跨域调用WCF服务的具体步骤和相关知识点: 1. **开启WCF服务的跨域支持**:在WCF服务的配置文件(通常是ServiceName.svc.cs或IServiceName.cs)中,需要启用跨域资源共享(CORS)。这可以通过添加`...
本文将详细解释如何利用jQuery通过JSONP(JSON with Padding)的方式实现跨域调用WebService。 #### 1. JSONP 的基本原理 JSONP 是一种解决跨域请求的有效手段,它通过动态创建`<script>`标签来请求跨域的数据,并...
JQuery Ajax技术在Web开发中应用广泛,其中,跨域调用与非跨域调用是开发人员经常遇到的问题。本文将详细介绍JQuery Ajax在跨域调用和非跨域调用中的一些实现技巧和操作注意事项,以便大家更好地应用。 首先,我们...
1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准; 2、不过我们又发现,Web页面上调用js文件时则不受是否跨域的影响...
本示例“ASPNET_JSONP_demo(jq跨域)”正是展示了如何在 ASP.NET 平台上构建一个 JSONP 服务,并利用 jQuery 进行跨域调用。 首先,我们需要理解 JSONP 的工作原理。JSONP 是通过动态创建 `<script>` 标签来请求数据...
JSONP利用这一点,服务器将数据封装在一个JavaScript函数调用中返回,客户端通过动态创建`<script>`标签来加载这个函数并执行,从而实现跨域数据交互。 在jQuery中,使用JSONP主要通过`$.ajax()`或`$.getJSON()`...
总结,"基于PHP的Simple Proxy Ajax的跨域调用"是一种实用的跨域解决方案,尤其适用于后端接口不支持CORS或对JSONP有安全顾虑的情况。理解并掌握这个技术,有助于在实际项目中灵活应对跨域挑战。