ECShop transport.js定義了Ajax Transport
/* 定義兩個別名 */
var Ajax = Transport;
Ajax.call = Transport.run;
其中run方法實現(xiàn)了類似jQuery $.ajax的功能但缺少了對jsonp方式的支持
/* *
* 調(diào)用此方法發(fā)送HTTP請求。
*
* @public
* @param {string} url 請求的URL地址
* @param {mix} params 發(fā)送參數(shù)
* @param {Function} callback 回調(diào)函數(shù)
* @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實現(xiàn)
排除一些自制的特殊調(diào)用:比如callback的第二個參數(shù)以及this的深度使用
其它上層Ajax.call相關調(diào)用就不用一一更新了
新聞熱點
疑難解答
圖片精選