• ajax跨域请求及jsonp方式


      

    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的编码最好,这样省得编码转换了

  • 相关阅读:
    7月6日实习日志
    7月5日实习日志
    7月4日实习日志
    emacs设置tab缩进
    {{badmatch, {error, eexist}}
    windows下使用emacs+plink远程编辑erlang文件
    cowboy跨域请求处理
    erlang的base64解码问题
    Erlang-VM节点启动名冲突问题
    laya在微信小游戏中加载BitmapFont失效的问题
  • 原文地址:https://www.cnblogs.com/yangliulang/p/2874983.html
Copyright © 2020-2023  润新知