pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

<i id='dRNMZ'><tr id='dRNMZ'><dt id='dRNMZ'><q id='dRNMZ'><span id='dRNMZ'><b id='dRNMZ'><form id='dRNMZ'><ins id='dRNMZ'></ins><ul id='dRNMZ'></ul><sub id='dRNMZ'></sub></form><legend id='dRNMZ'></legend><bdo id='dRNMZ'><pre id='dRNMZ'><center id='dRNMZ'></center></pre></bdo></b><th id='dRNMZ'></th></span></q></dt></tr></i><div class="y8a4cgs" id='dRNMZ'><tfoot id='dRNMZ'></tfoot><dl id='dRNMZ'><fieldset id='dRNMZ'></fieldset></dl></div>

<small id='dRNMZ'></small><noframes id='dRNMZ'>

  • <legend id='dRNMZ'><style id='dRNMZ'><dir id='dRNMZ'><q id='dRNMZ'></q></dir></style></legend>

      <bdo id='dRNMZ'></bdo><ul id='dRNMZ'></ul>
    <tfoot id='dRNMZ'></tfoot>

      1. 帶有 ES6 Promises 的 jQuery ajax

        jQuery ajax with ES6 Promises(帶有 ES6 Promises 的 jQuery ajax)

            <bdo id='txbUD'></bdo><ul id='txbUD'></ul>
                <tbody id='txbUD'></tbody>

              <i id='txbUD'><tr id='txbUD'><dt id='txbUD'><q id='txbUD'><span id='txbUD'><b id='txbUD'><form id='txbUD'><ins id='txbUD'></ins><ul id='txbUD'></ul><sub id='txbUD'></sub></form><legend id='txbUD'></legend><bdo id='txbUD'><pre id='txbUD'><center id='txbUD'></center></pre></bdo></b><th id='txbUD'></th></span></q></dt></tr></i><div class="q2qouos" id='txbUD'><tfoot id='txbUD'></tfoot><dl id='txbUD'><fieldset id='txbUD'></fieldset></dl></div>

                • <legend id='txbUD'><style id='txbUD'><dir id='txbUD'><q id='txbUD'></q></dir></style></legend>
                • <small id='txbUD'></small><noframes id='txbUD'>

                • <tfoot id='txbUD'></tfoot>
                  本文介紹了帶有 ES6 Promises 的 jQuery ajax的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我正在嘗試使用 ES6 承諾通過 jQuery 發出發布請求:

                  I am trying to make a post request via jQuery using an ES6 promise:

                  我有一個函數:

                  getPostPromise(something, anotherthing) {
                    return new Promise(function(resolve, reject) {
                      $.ajax({
                        url: someURL,
                        type: 'post',
                        contentType: 'application/json; charset=utf-8',
                        data: JSON.stringify(
                          something: something,
                          anotherthing: anotherthing
                        }),
                        dataType: 'json',
                        success: resolve,
                        error: reject
                      });
                    });
                  }
                  

                  我這樣稱呼它:

                  getPostPromise(
                    'someFooStuff',
                    'someBarStuff'
                  ).then(
                    function(returnedData) {
                      console.log("Good: ", returnedData);
                    },
                    function(responseObject) {
                      console.log("Bad: ", responseObject);
                    }
                  ).catch(
                    function(errorThrown) {
                      console.log("Exception: ", errorThrown);
                    }
                  );
                  

                  我的服務器按預期返回響應,請求正文為 JSON 格式,但我的控制臺輸出為:

                  My server is returning a response as expected with the request body being in JSON format but my console output is:

                  好:未定義

                  為什么我沒有收到返回的數據?

                  Why am I not getting the returned data?

                  感謝任何人/每個人的任何幫助.

                  Thanks to anyone/everyone for any help.

                  --- 更新編輯 ---

                  --- UPDATE EDIT ---

                  我已將我的 js 縮減為:

                  I have reduced my js to only:

                  import $ from 'jquery';
                  $.get('http://localhost:8008/api/user')
                    .done(function(data) {
                      console.log(data);
                    });
                  

                  我仍然得到未定義的輸出.如果我在網絡選項卡中打開請求,我可以看到帶有正確數據的響應對象.發出請求,我的服務器很高興并做出響應,結果在我的瀏覽器中,但 done 的數據參數未定義.我被難住了.

                  I still get undefined as output. If I open up the request in the network tab I can see the response object with the correct data. The request is made, my server is happy and responds, and the results are in my browser but the data parameter of done is undefined. I am stumped.

                  --- 更新 2 - 找到解決方案 ---

                  --- UPDATE 2 - SOLUTION FOUND ---

                  我發現問題在于使用:https://github.com/jpillora/xdomain繞過CORS.似乎該庫以某種方式搞砸了傳回值.我已將其刪除,并將正確實施 CORS,并且在不支持它的瀏覽器上見鬼.

                  I discovered that the problem was with using: https://github.com/jpillora/xdomain to get around CORS. It would seem that that library screws up passing back values somehow. I have removed it and will implement CORS properly and to hell with browsers that don't support it.

                  推薦答案

                  jQuery Ajax 方法本身返回 Promise,你根本不需要 包裝它們.

                  jQuery Ajax methods return promises themselves, you don't need to wrap them at all.

                  當然,您可以這樣做以與 ES6 Promise API 保持一致.

                  But you can, of course, do it for consistency with the ES6 promise API.

                  更新 jQuery 3.0+ 實現了Promise/A+ API,所以沒有理由不再用現代 jQuery 包裝任何東西.閱讀jQuery 3.0 之前的 promise 實現的特性.

                  UPDATE jQuery 3.0+ implements the Promise/A+ API, so there is no reason anymore to wrap anything in modern jQuery. Read up on the peculiarities of jQuery's promise implementation prior to version 3.0.

                  對于 3.0 之前的 jQuery 版本,我會比你更解耦:

                  For jQuery versions before 3.0, I would decouple it more than you did:

                  function ajax(options) {
                    return new Promise(function (resolve, reject) {
                      $.ajax(options).done(resolve).fail(reject);
                    });
                  }
                  

                  ajax({
                    url: someURL,
                    type: 'post',
                    contentType: 'application/json; charset=utf-8',
                    data: JSON.stringify({
                      something: something,
                      anotherthing: anotherthing
                    })
                  }).then(
                    function fulfillHandler(data) {
                      // ...
                    },
                    function rejectHandler(jqXHR, textStatus, errorThrown) {
                      // ...
                    }
                  ).catch(function errorHandler(error) {
                    // ...
                  });
                  

                  這篇關于帶有 ES6 Promises 的 jQuery ajax的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Browser waits for ajax call to complete even after abort has been called (jQuery)(即使在調用 abort (jQuery) 之后,瀏覽器也會等待 ajax 調用完成)
                  JavaScript innerHTML is not working for IE?(JavaScript innerHTML 不適用于 IE?)
                  XMLHttpRequest cannot load, No #39;Access-Control-Allow-Origin#39; header is present on the requested resource(XMLHttpRequest 無法加載,請求的資源上不存在“Access-Control-Allow-Origin標頭) - IT屋-程序員軟件開發技術分
                  Is it possible for XHR HEAD requests to not follow redirects (301 302)(XHR HEAD 請求是否有可能不遵循重定向 (301 302))
                  NETWORK_ERROR: XMLHttpRequest Exception 101(NETWORK_ERROR:XMLHttpRequest 異常 101)
                  XMLHttpRequest 206 Partial Content(XMLHttpRequest 206 部分內容)
                    <bdo id='rJNXI'></bdo><ul id='rJNXI'></ul>
                    • <legend id='rJNXI'><style id='rJNXI'><dir id='rJNXI'><q id='rJNXI'></q></dir></style></legend>

                      <small id='rJNXI'></small><noframes id='rJNXI'>

                        <tbody id='rJNXI'></tbody>

                        <tfoot id='rJNXI'></tfoot>

                          • <i id='rJNXI'><tr id='rJNXI'><dt id='rJNXI'><q id='rJNXI'><span id='rJNXI'><b id='rJNXI'><form id='rJNXI'><ins id='rJNXI'></ins><ul id='rJNXI'></ul><sub id='rJNXI'></sub></form><legend id='rJNXI'></legend><bdo id='rJNXI'><pre id='rJNXI'><center id='rJNXI'></center></pre></bdo></b><th id='rJNXI'></th></span></q></dt></tr></i><div class="4a2aguu" id='rJNXI'><tfoot id='rJNXI'></tfoot><dl id='rJNXI'><fieldset id='rJNXI'></fieldset></dl></div>

                            主站蜘蛛池模板: 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 直流大电流电源,燃料电池检漏设备-上海政飞 | 浙江宝泉阀门有限公司| 车载加油机品牌_ 柴油加油机厂家 | GAST/BRIWATEC/CINCINNATI/KARL-KLEIN/ZIEHL-ABEGG风机|亚喜科技 | 振动筛-交叉筛-螺旋筛-滚轴筛-正弦筛-方形摇摆筛「新乡振动筛厂家」 | 烟雾净化器-滤筒除尘器-防爆除尘器-除尘器厂家-东莞执信环保科技有限公司 | 氧化锆陶瓷_氧化锆陶瓷加工_氧化锆陶瓷生产厂家-康柏工业陶瓷有限公司 | 烟台游艇培训,威海游艇培训-烟台市邮轮游艇行业协会 | 防水接头-电缆防水接头-金属-电缆密封接头-不锈钢电缆接头 | 自动记录数据电子台秤,记忆储存重量电子桌称,设定时间记录电子秤-昆山巨天 | 全自动端子机|刺破式端子压接机|全自动双头沾锡机|全自动插胶壳端子机-东莞市傅氏兄弟机械设备有限公司 | 湖北省煤炭供应链综合服务平台 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 大行程影像测量仪-探针型影像测量仪-增强型影像测量仪|首丰百科 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 欧必特空气能-商用空气能热水工程,空气能热水器,超低温空气源热泵生产厂家-湖南欧必特空气能公司 | 短信营销平台_短信群发平台_106短信发送平台-河南路尚 | 上海风淋室_上海风淋室厂家_上海风淋室价格_上海伯淋 | 【黄页88网】-B2B电子商务平台,b2b平台免费发布信息网 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 济南菜鸟驿站广告|青岛快递车车体|社区媒体-抖音|墙体广告-山东揽胜广告传媒有限公司 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 电动手术床,医用护理床,led手术无影灯-曲阜明辉医疗设备有限公司 | 玻璃钢板-玻璃钢防腐瓦-玻璃钢材料-广东壹诺 | 光伏家 - 太阳能光伏发电_分布式光伏发电_太阳能光伏网 | 玻璃钢格栅盖板|玻璃钢盖板|玻璃钢格栅板|树篦子-长沙川皖玻璃钢制品有限公司 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 提升海外网站流量,增加国外网站访客UV,定制海外IP-访客王 | 双相钢_双相不锈钢_双相钢圆钢棒_双相不锈钢报价「海新双相钢」 双能x射线骨密度检测仪_dxa骨密度仪_双能x线骨密度仪_品牌厂家【品源医疗】 | 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 电脑刺绣_绣花厂家_绣花章仔_织唛厂家-[源欣刺绣]潮牌刺绣打版定制绣花加工厂家 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 超声波流量计_流量标准装置生产厂家 _河南盛天精密测控 | 河南彩印编织袋,郑州饲料编织袋定制,肥料编织袋加工厂-盛军塑业 河南凯邦机械制造有限公司 | 博莱特空压机|博莱特-阿特拉斯独资空压机品牌核心代理商 |