`
aijezdm915
  • 浏览: 404593 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jQuery JSONP 跨域实践

    博客分类:
  • js
阅读更多

 

jQuery JSONP 跨域实践

 

一客户端(url:http://192.168.1.2:81/jsonp_test.jsp)

客户端页面首先在body 中放置一个div: <div id="res"></div> 将远程调用的数据写入该div中


<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
    $(document).ready(
function(){
        $.ajax({
             url:
'http://192.168.9.5/jsonp_test1.jsp',
             dataType:
"jsonp",
             jsonp:
"jsonpcallback",
             success:
function(data){
                 
var $ul = $("<ul></ul>");
                 $.each(data,
function(i,v){
                     $(
"<li/>").text(v["id"+ " " + v["name"]).appendTo($ul)
                 });
                 $(
"#res").append($ul);
             }
        });
    });
</script>

 

服务端(url:http://192.168.9.5/jsonp_test1.jsp
代码很简单,就是输出一个字符串
比如正常输出json应该是:[{"id":"1","name":"测试1"},{"id":"2","name":"测试2"}]
jsonp 则输出: jsonpcallback([{"id":"1","name":"测试1"},{"id":"2","name":"测试2"}]) 其中“jsonpcallback”是客户端传过来的


  jsonp = request.getParameter("jsonpcallback")
  str 
= "[{""id"":""1"",""name"":""测试1""},{""id"":""2"",""name"":""测试2""}]"
  str 
= jsonp + "(" +str+")"
  response.Write(str)

由于 jquery 在ajax 处理中使用的是utf-8编码传递参数的,所以jsonp处理端用utf-8的编码最好,这样省得编码转换了

最终效果截图:

 

分享到:
评论
5 楼 wangxingaibao 2014-09-12  
引用
          
4 楼 LiKaikai8888 2014-08-26  
    
3 楼 LiKaikai8888 2014-08-26  
2 楼 aijezdm915 2011-05-31  

<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $.ajax({
             url:'http://192.168.9.5/jsonp_test1.jsp',
             dataType:"jsonp",
             jsonp:"jsonpcallback",
             success:function(data){
                 var $ul = $("<ul></ul>");
                 $.each(data,function(i,v){
                     $("<li/>").text(v["id"] + " " + v["name"]).appendTo($ul)
                 });
                 $("#res").append($ul);
             }
        });
    });
</script>

1 楼 aijezdm915 2011-05-31  

    [*]

相关推荐

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

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

    利用JQuery jsonp实现Ajax跨域请求json数据

    本篇文章将详细讲解如何利用jQuery的jsonp方法实现Ajax跨域请求,以及如何在服务器端使用.Net的*.handler和WebService来返回JSON数据。 首先,理解JSONP的基本原理。JSONP是一种非官方的协议,通过动态创建`...

    ajax 跨域请求问题 jquery jsonp

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

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

    以上是基于jQuery和JSONP实现跨域请求的解决方案。具体到代码层面,可以通过示例来更清晰地展示如何操作。在这个例子中,客户端页面需要从另一域下的服务端接口获取数据,并将这些数据显示在页面中。通过上述提到的...

    jQuery Jsonp跨域模拟搜索引擎

    1. jQuery Jsonp跨域概念: - jQuery Jsonp是一种用于跨域请求的技术手段。在Web开发中,出于安全考虑,浏览器实施了同源策略,限制了一个域下的脚本与另一个域下的资源进行交互。而Jsonp(JSON with Padding)技术...

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

    JSONP(JSON with Padding)是一种常见的解决JavaScript跨域问题的技术,尤其在jQuery中得到了广泛的应用。由于浏览器的同源策略限制,JavaScript通常无法在不同源之间进行Ajax请求。但JSONP巧妙地利用了HTML中`...

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

    本文将详细介绍使用jQuery实现JSONP跨域获取数据的三种方法。 ### 第一种方法:$.ajax()函数 $.ajax()是jQuery中最为通用的Ajax实现方式。要使用JSONP方法,我们需要在$.ajax()函数中设置`dataType`为'jsonp'。...

    jquery ajax jsonp跨域调用实例代码

    今天研究了AJAX使用JSONP进行跨域调用的方法,发现使用GET方式和POST方式都可以进行跨域调用,这里简单分享下,方便需要的朋友

    jquery ajax跨域html前台 php后台

    在解决跨域问题时,我们可以利用jQuery的`jsonp`模式。JSONP(JSON with Padding)是一种绕过同源策略的方法,它利用`&lt;script&gt;`标签可以跨域加载脚本的特性。 在描述中提到的"jquery ajax json 跨域不解释,代码很...

    第25周-第06章节-Python3.5-JSONP跨域请求jQuery方式.avi

    第25周-第06章节-Python3.5-JSONP跨域请求jQuery方式.avi

    ASPNET_JSONP_demo(jq跨域)

    【ASP.NET JSONP 实现 jQuery 跨域】 在 Web 开发中,由于浏览器的同源策略限制,JavaScript 无法直接跨域访问数据。为了解决这个问题,开发者常常使用 JSONP(JSON with Padding) 技术。ASP.NET 和 jQuery 结合使用...

    JQuery跨域访问解决方案

    JQuery的跨域解决方案主要依赖于JSONP(JSON with Padding)技术。JSONP是一种绕过同源策略的方式,它利用HTML中的`&lt;script&gt;`标签没有同源策略限制的特点。当jQuery使用`dataType: 'jsonp'`时,它实际上是在做以下几...

    Jquery跨域Ajax请求测试

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

    jquery跨域调用 js跨域调用

    总结,jQuery跨域调用主要依赖JSONP和CORS技术,通过这些方法,开发者可以突破浏览器的同源策略限制,实现跨域数据交换。但在使用过程中,必须注意安全和性能问题,以确保应用程序的稳定性和安全性。

    跨域访问解决方法-jsonp

    本文将详细探讨JSONP的工作原理以及如何在实际项目中使用它来跨域获取JSON数据。 ### JSONP简介 JSONP全称为"JSON Padding",它并不是JSON的一种新格式,而是一种利用动态创建`&lt;script&gt;`标签来绕过同源策略的技巧...

    jsonp跨域请求数据实现手机号码查询实例分析.docx

    - **发起请求**:使用jQuery的`$.ajax`方法发送GET请求,并设置`dataType`为`"jsonp"`以支持JSONP方式的跨域请求。 - **参数设置**:URL中包含待查询的电话号码,并指定`jsonp`参数为`callback`,这是服务器端期望...

    jsonpajax跨域请求

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

    AJax与Jsonp跨域访问问题小结

    在总结中,本文针对JavaScript中的AJAX技术、JQuery中的AJAX封装,以及JSONP跨域访问技术,进行了全面的分析和小结。内容涵盖了从创建XMLHttpRequest对象,到使用AJAX发起异步请求,再到通过JSONP实现跨域访问的一...

Global site tag (gtag.js) - Google Analytics