西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > ecshop教程 >

ECShop动静分离transport.js get jsonp跨域对接

时间:2016-01-19 15:53来源:未知 作者:好模板 点击:
ECShop transport.js定义了Ajax Transport /* 定义两个别名 */ var Ajax = Transport; Ajax.call = Transport.run; 其中run方法实现了类似jQuery $.ajax的功能但缺少了对jsonp方式的支持 /* * * 调用此方法发送HTTP请求
ECShop transport.js定义了Ajax Transport
 
 
/* 定义两个别名 */
var Ajax = Transport;
Ajax.call = Transport.run;
其中run方法实现了类似jQuery $.ajax的功能但缺少了对jsonp方式的支持
 
 
 
  /* *
  * 调用此方法发送HTTP请求。
  *
  * @public
  * @param   {string}    url             请求的URL地址
  * @param   {mix}       params          发送参数
  * @param   {Function}  callback        回调函数
  * @param   {string}    ransferMode     请求的方式,有"GET"和"POST"两种
  * @param   {string}    responseType    响应类型,有"JSON"、"XML"和"TEXT"三种
  * @param   {boolean}   asyn            是否异步请求的方式
  * @param   {boolean}   quiet           是否安静模式请求
  */
  run : function (url, params, callback, transferMode, responseType, asyn, quiet)
可以在第一个get方法判断入口前新增下列代码:
 
 
 
if (transferMode === "GET")
{
  if(params.indexOf("?") == -1){
    if(params){
     params+= "&"; 
    }
    params += "callback=?";
  }
  return $.getJSON(url, params, callback);
}
巧妙的将原来ajax get方法对接上jquery script jsonp实现
排除一些自制的特殊调用:比如callback的第二个参数以及this的深度使用
其它上层Ajax.call相关调用就不用一一更新了
(责任编辑:好模板)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------