国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript中模擬實現jsonp

2019-11-20 12:12:41
字體:
來源:轉載
供稿:網友
function prescript(s) {    if (s.cache === undefined) {      s.cache = false;    }    if (s.crossDomain) {      s.type = "GET";    }  }  function prejsonp(s, originalSettings, jqXHR) {    // 給回調函數命名    var callbackName = s.jsonpCallback    s.url += (/(?:)/.test(s.url) ? "&" : "?") + s.jsonp + "=" + callbackName;    // 腳本執行后使用數據轉換器來檢索json    // 提供給代碼獲取服務器的是據    s.getData = function() {      if (!responseContainer) {        jQuery.error(callbackName + " was not called");      }      return responseContainer[0];    };    //修改處理機制    s.dataTypes[0] = "json";    // 創建一個全局函數    overwritten = window[callbackName];    //用來收集服務器給的數據    window[callbackName] = function() {      responseContainer = arguments;    };    return "script";  }  /**   * jsonp的預先處理   */  function inspectPrefiltersOrTransportsA(options, originalOptions, jqXHR) {    //預處理jsonp    var dataTypeOrTransport = prejsonp(options, originalOptions, jqXHR)    //擴充dataTypes    options.dataTypes.unshift(dataTypeOrTransport);    //預處理script類型    prescript(options)  }  /**   * 分發器   * @return {[type]} [description]   */  function inspectPrefiltersOrTransportsB(s, originalOptions, jqXHR) {    return {      send: function(_, complete) {        var script = jQuery("<script>").prop({          async: true,          charset: s.scriptCharset,          src: s.url        }).on(          "load error",          callback = function(evt) {            script.remove();            callback = null;            if (evt) {              complete()            }          }        );        //<script async="" src="http://192.168.1.113:8080/github/jQuery/jsonp.php        document.head.appendChild(script[0]);      }    }  }  /**   * 模擬ajax的 jsonp請求   * @param {[type]} options [description]   * @return {[type]}     [description]   */  function createAjax(options) {    if (typeof url === "object") {      options = url;      url = undefined;    }    options = options || {};    /**     * 參數     * jQuery.ajaxSetup 是默認參數     * @type {[type]}     */    var s = jQuery.ajaxSetup({}, options);    // Deferreds    // 異步機制    var deferred = jQuery.Deferred();    var completeDeferred = jQuery.Callbacks("once memory");    /**     * 實際返回的ajax對象     * @type {Object}     */    var jqXHR = {}    // 把jqXHR對象轉化promise對象,

主站蜘蛛池模板:
永胜县|
宜州市|
维西|
油尖旺区|
社会|
沂南县|
离岛区|
肇东市|
丰都县|
育儿|
静海县|
禹城市|
武川县|
利辛县|
民乐县|
五原县|
呼图壁县|
龙江县|
荔波县|
江北区|
和林格尔县|
桐城市|
合江县|
徐州市|
全州县|
甘孜|
武安市|
烟台市|
望城县|
兴仁县|
黄冈市|
阳原县|
衢州市|
社会|
五莲县|
乃东县|
丰宁|
炉霍县|
江阴市|
义乌市|
上蔡县|