芒果小站

/* 336x280*/

定义全局回调函数,把 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 在请求成功后需要进行一次销毁操作。

/* 336x280*/
版权所有,转载请注明出处。
转载自 <a href="http://www.mangguo.org/a-brief-paragraph-on-jsonp-callback-code/" title="一段关于 JSONP Callback 的简要代码" rel="bookmark">一段关于 JSONP Callback 的简要代码 | 芒果小站</a>

我简单说几句

随机推荐

最新评论