芒果小站

  1. 全球最具业界良心的主机 - Linode

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - Linode

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - Linode

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
0

一段关于 JSONP Callback 的简要代码

作者 芒果/分类 代码/发布于 2011-12-03 17:54

定义全局回调函数,把 timestamp 参数写成 window 下的方法名称。这里我的格式是 jsonp + 时间戳。发送请求和执行回调函数统一使用同一个 timestamp 参数即可。

/**
  * 远程数据加载
  * @method loader
  * @param {String} o 参数配置
  */
function loader (o) {

     var timestamp = 'jsonp' + new Date().getTime();

     //定义全局回调函数
     window[timestamp] = function (data) {

          //执行配置参数中的回调函数
          o.callback(data);

     }

     //读取远程 JSONP 数据
     KISSY.getScript(o.url + timestamp);

}

执行加载时,调用 loader 方法:

loader({
     url : 'http://ooxx.html?callback=',
     callback : function (data) {
          console.log(data);
     }
})

2011.12.15 日补充:全局 window 上的 callback 在请求成功后需要进行一次销毁操作。

版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/a-brief-paragraph-on-jsonp-callback-code/" title="一段关于 JSONP Callback 的简要代码" rel="bookmark">一段关于 JSONP Callback 的简要代码 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

下面我简单说几句