zoukankan      html  css  js  c++  java
  • 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的编码最好,这样省得编码转换了

  • 相关阅读:
    20181030-4 每周例行报告
    20181023-3 每周例行报告
    20181016-10 每周例行报告
    PSP总结报告
    第十二周例行报告
    对团队成员公开感谢
    第十一周例行报告
    第十周例行报告
    第九周例行报告
    第八周例行报告
  • 原文地址:https://www.cnblogs.com/yangliulang/p/2874983.html
Copyright © 2011-2022 走看看