国产探花免费观看_亚洲丰满少妇自慰呻吟_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對象,

主站蜘蛛池模板:
个旧市|
香格里拉县|
青冈县|
塘沽区|
万安县|
辉南县|
加查县|
柘城县|
五寨县|
中西区|
九江县|
徐闻县|
临城县|
揭西县|
岗巴县|
连州市|
自治县|
香河县|
清原|
盐池县|
乌恰县|
南召县|
阳原县|
黄陵县|
新建县|
紫阳县|
郎溪县|
遵义市|
三原县|
德惠市|
广宁县|
乐至县|
平定县|
正镶白旗|
郧西县|
沙洋县|
昌江|
大同市|
建始县|
罗甸县|
扎鲁特旗|