• 什么是JSONP?


    JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。

    如何使用JSONP

    1. 在客户端调用提供JSONP支持的URL Service,获取JSONP格式数据。
      比如客户想访问http://www.yiwuku.com/myService.aspx?jsonp=callbackFunction
      假设客户期望返回JSON数据:["customername1","customername2"]
      那么直正返回到客户端的Script Tags: callbackFunction([“customername1","customername2"])
      可能的调用方式:
      <script type="text/javascript" src="http://www.yiwuku.com/myService.aspx?jsonp=callbackFunction" />
    2. 在客户端写callbackFunction函数的实现
      <script type="text/javascript">
      function onCustomerLoaded(result, methodName)
      {
      var html = '<ul>';
      for(var i = 0; i < result.length; i++)
      {
      html += '<li>' + result + '</li>';
      }
      html += '</ul>';
      document.getElementById('divCustomers').innerHTML = html;
      }
      </script>
    3. 页面展示
       <div id="divCustomers"></div>
    4. 最终Page Code
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" >
      <head>
      <title>Top Customers with Callback</title>
      </head>
      <body>
      <div id="divCustomers"></div>
      <script type="text/javascript">
      function onCustomerLoaded(result, methodName)
      {
      var html = '<ul>';
      for(var i = 0; i < result.length; i++)
      {
      html += '<li>' + result + '</li>';
      }
      html += '</ul>';
      document.getElementById('divCustomers').innerHTML = html;
      }
      </script>
      <script type="text/javascript" src="http://www.yiwuku.com/myService.aspx?jsonp=callbackFunction"></script>
      </body>
      </html>
  • 相关阅读:
    select移动选项
    jFinal+AngularJs未来javaEE开发的趋势——程序员的福音 .
    MVC框架PK:Angular、Backbone、CanJS与Ember
    错误 1093 You can't specify target table 'table name' for update in FROM clause
    Angularjs开发一些经验总结
    需求调研的步骤、方法
    MyEclipse如何跟踪调试
    需求入门: 软件需求的三个层次
    JAVA的Random类(转)
    Java中从[1,36]随机生成7个不重复的数字,放入一个数组中
  • 原文地址:https://www.cnblogs.com/cheche/p/1808448.html
Copyright © 2020-2023  润新知