`
aijezdm915
  • 浏览: 400035 次
  • 性别: 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  

    [*]

相关推荐

Global site tag (gtag.js) - Google Analytics