`
TimerBin
  • 浏览: 358667 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jquery Ajax Jsonp 跨域调用

阅读更多

笔记之前先饿补一下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跨域调用实例代码

    jQuery AJAX JSONP 跨域调用是Web开发中解决同源策略限制的一种方法,它允许JavaScript从不同域名的服务器上获取数据。同源策略是浏览器实施的安全策略,阻止了一个源的文档或脚本访问另一个源的属性。JSONP(JSON ...

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

    在JavaScript的世界里,由于同源策略的限制,浏览器禁止了不同源之间进行AJAX通信,但JSONP(JSON with Padding)作为一种巧妙的方式,允许我们绕过这个限制,实现在jQuery中进行跨域请求。本篇文章将深入探讨JSONP...

    jquery跨域调用 js跨域调用

    jQuery跨域调用主要是通过JSONP(JSON with Padding)和CORS(Cross-Origin Resource Sharing)这两种机制来实现的。JSONP是一种非官方的跨域数据交互协议,而CORS是W3C标准,允许服务器声明哪些来源可以访问其资源...

    Jquery跨域Ajax请求测试

    总之,jQuery提供了一种简单易用的方式来处理跨域Ajax请求,无论是通过JSONP还是CORS。理解并熟练掌握这些技术,对于构建现代Web应用至关重要。在实际项目中,根据具体需求和安全考虑选择合适的方法,确保数据能够...

    利用jsonp跨域调用百度js实现搜索框智能提示

    【JSONP跨域调用与百度搜索框智能提示】 在Web开发中,由于浏览器的同源策略限制,JavaScript无法直接发起跨域请求。为了解决这个问题,JSONP(JSON with Padding)应运而生。JSONP是一种绕过同源策略的技术,通过...

    jsonpajax跨域请求

    "jsonp跨域请求"可能是服务器返回的示例数据,模拟了JSONP的跨域请求过程。 总结,JSONP和CORS是解决JavaScript跨域问题的两种主要方法,它们各有优缺点,适用于不同的场景。JSONP简单易用,但安全性较低;CORS则更...

    ajax 跨域请求问题 jquery jsonp

    **Ajax跨域请求问题与jQuery JSONP解析** 在Web开发中,Ajax技术被广泛用于实现页面的异步更新,但浏览器的同源策略(Same-Origin Policy)限制了Ajax请求只能向同源(协议、域名、端口均相同)的服务器发送。这在...

    轻松搞定jQuery+JSONP跨域请求的解决方案

    在使用jQuery处理JSONP请求时,可以通过jQuery提供的Ajax方法来实现。而$.getJSON方法可以看作是$.ajax的一个简化版本,专门用于发送GET请求。当调用$.getJSON方法时,会自动在请求的URL中添加callback参数,而该...

    jquery ajax跨域html前台 php后台

    1. **jQuery的Ajax设置**:在使用Ajax进行跨域请求时,我们需要在`$.ajax()`方法中设置`dataType: 'jsonp'`。这告诉jQuery我们期望服务器返回JSON格式的数据,并通过JSONP机制来处理。 2. **JSONP原理**:JSONP的...

    jQuery使用JSONP实现跨域获取数据的三种方法详解

    使用jQuery提供的接口,开发者可以很容易地实现JSONP跨域请求,具体方法包括$.ajax()、$.getJSON()和$.getScript()等。在实际使用过程中,需要注意回调函数名的正确传递和处理,以及确保服务器端正确响应JSONP请求。...

    详解Java Ajax 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、ajax以及jsonp跨域访问的知识。 首先,jQuery作为一个广泛使用的JavaScript库,其提供的ajax方法极大地简化了HTTP通信操作。然而,当尝试通过ajax访问不同域下的资源时,就会遇到跨域限制...

    ajax跨域调用wcf实例

    以下是实现AJAX跨域调用WCF服务的具体步骤和相关知识点: 1. **开启WCF服务的跨域支持**:在WCF服务的配置文件(通常是ServiceName.svc.cs或IServiceName.cs)中,需要启用跨域资源共享(CORS)。这可以通过添加`...

    jquery跨域调用webservice

    本文将详细解释如何利用jQuery通过JSONP(JSON with Padding)的方式实现跨域调用WebService。 #### 1. JSONP 的基本原理 JSONP 是一种解决跨域请求的有效手段,它通过动态创建`<script>`标签来请求跨域的数据,并...

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

    JQuery Ajax技术在Web开发中应用广泛,其中,跨域调用与非跨域调用是开发人员经常遇到的问题。本文将详细介绍JQuery Ajax在跨域调用和非跨域调用中的一些实现技巧和操作注意事项,以便大家更好地应用。 首先,我们...

    Ajax跨域请求解决方案-JSONP

    - 使用jQuery或其他库的Ajax方法,通过`jsonp`参数指定回调函数名。例如,`$.ajax({ url: 'http://example.com/api/data', dataType: 'jsonp', jsonp: 'callback' })`。 - 在服务器响应之前,浏览器会在当前页面中...

    jquery-jsonp.js

    1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准;  2、不过我们又发现,Web页面上调用js文件时则不受是否跨域的影响...

    ASPNET_JSONP_demo(jq跨域)

    本示例“ASPNET_JSONP_demo(jq跨域)”正是展示了如何在 ASP.NET 平台上构建一个 JSONP 服务,并利用 jQuery 进行跨域调用。 首先,我们需要理解 JSONP 的工作原理。JSONP 是通过动态创建 `<script>` 标签来请求数据...

    jquery-jsonp-master.zip_jsonp

    JSONP利用这一点,服务器将数据封装在一个JavaScript函数调用中返回,客户端通过动态创建`<script>`标签来加载这个函数并执行,从而实现跨域数据交互。 在jQuery中,使用JSONP主要通过`$.ajax()`或`$.getJSON()`...

Global site tag (gtag.js) - Google Analytics