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

  1. <tfoot id='7H7xC'></tfoot>

    1. <small id='7H7xC'></small><noframes id='7H7xC'>

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

      <legend id='7H7xC'><style id='7H7xC'><dir id='7H7xC'><q id='7H7xC'></q></dir></style></legend>
      • <bdo id='7H7xC'></bdo><ul id='7H7xC'></ul>
    2. 我怎樣才能讓 XHR.onreadystatechange 返回它的結(jié)果?

      How can I make XHR.onreadystatechange return its result?(我怎樣才能讓 XHR.onreadystatechange 返回它的結(jié)果?)

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

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

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

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

                本文介紹了我怎樣才能讓 XHR.onreadystatechange 返回它的結(jié)果?的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                問題描述

                我是 JavaScript 編程新手.我現(xiàn)在正在開發(fā)我的 Google Chrome 擴(kuò)展程序.這是不起作用的代碼...:P

                I'm new to JavaScript programming. I'm now working on my Google Chrome Extension. This is the code that doesn't work... :P

                我想讓 getURLInfo 函數(shù)返回它的 JSON 對(duì)象,并且想把它放到 resp 中.有人可以修復(fù)我的代碼以使其正常工作嗎?

                I want getURLInfo function to return its JSON object, and want to put it into resp. Could someone please fix my code to get it work?

                function getURLInfo(url)
                {
                    var xhr = new XMLHttpRequest();
                    xhr.open
                        (
                            "GET",
                            "http://RESTfulAPI/info.json?url="
                                + escape(url),
                            true
                        );
                    xhr.send();
                    xhr.onreadystatechange = function()
                    {
                        if (xhr.readyState == 4)
                        {
                            return JSON.parse(xhr.responseText);
                        }
                    }
                }
                var resp = getURLInfo("http://example.com/") // resp always returns undefined...
                

                提前致謝.

                推薦答案

                你在這里處理一個(gè)異步函數(shù)調(diào)用.結(jié)果在到達(dá)時(shí)處理,而不是在函數(shù)完成運(yùn)行時(shí)處理.

                You are dealing with an asynchronous function call here. Results are handled when they arrive, not when the function finishes running.

                這就是回調(diào)函數(shù)的用途.當(dāng)結(jié)果可用時(shí)調(diào)用它們.

                That's what callback functions are for. They are invoked when a result is available.

                function get(url, callback) {
                    var xhr = new XMLHttpRequest();
                    xhr.open("GET", url, true);
                    xhr.onreadystatechange = function () {
                        if (xhr.readyState == 4) {
                            // defensive check
                            if (typeof callback === "function") {
                                // apply() sets the meaning of "this" in the callback
                                callback.apply(xhr);
                            }
                        }
                    };
                    xhr.send();
                }
                // ----------------------------------------------------------------------------
                
                
                var param = "http://example.com/";                  /* do NOT use escape() */
                var finalUrl = "http://RESTfulAPI/info.json?url=" + encodeURIComponent(param);
                
                // get() completes immediately...
                get(finalUrl,
                    // ...however, this callback is invoked AFTER the response arrives
                    function () {
                        // "this" is the XHR object here!
                        var resp  = JSON.parse(this.responseText);
                
                        // now do something with resp
                        alert(resp);
                    }
                );
                

                注意事項(xiàng):

                • escape() 已被永遠(yuǎn)棄用.不要使用它,它不能正常工作.使用 encodeURIComponent().
                • 可以通過設(shè)置 open()async 參數(shù)使 send() 調(diào)用同步為 false.這會(huì)導(dǎo)致您的 UI 在請(qǐng)求運(yùn)行時(shí)凍結(jié),而您不希望這樣.
                • 有許多庫(kù)旨在使 Ajax 請(qǐng)求變得簡(jiǎn)單而通用.我建議使用其中之一.
                • escape() has been deprecated since forever. Don not use it, it does not work correctly. Use encodeURIComponent().
                • You could make the send() call synchronous, by setting the async parameter of open() to false. This would result in your UI freezing while the request runs, and you don't want that.
                • There are many libraries that have been designed to make Ajax requests easy and versatile. I suggest using one of them.

                這篇關(guān)于我怎樣才能讓 XHR.onreadystatechange 返回它的結(jié)果?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

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

                相關(guān)文檔推薦

                Browser waits for ajax call to complete even after abort has been called (jQuery)(即使在調(diào)用 abort (jQuery) 之后,瀏覽器也會(huì)等待 ajax 調(diào)用完成)
                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 無法加載,請(qǐng)求的資源上不存在“Access-Control-Allow-Origin標(biāo)頭) - IT屋-程序員軟件開發(fā)技術(shù)分
                Is it possible for XHR HEAD requests to not follow redirects (301 302)(XHR HEAD 請(qǐng)求是否有可能不遵循重定向 (301 302))
                NETWORK_ERROR: XMLHttpRequest Exception 101(NETWORK_ERROR:XMLHttpRequest 異常 101)
                XMLHttpRequest 206 Partial Content(XMLHttpRequest 206 部分內(nèi)容)
                • <small id='B5FnU'></small><noframes id='B5FnU'>

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

                    • <bdo id='B5FnU'></bdo><ul id='B5FnU'></ul>
                        <tbody id='B5FnU'></tbody>

                        <tfoot id='B5FnU'></tfoot>
                          <legend id='B5FnU'><style id='B5FnU'><dir id='B5FnU'><q id='B5FnU'></q></dir></style></legend>

                        • 主站蜘蛛池模板: 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 隧道烘箱_隧道烘箱生产厂家-上海冠顶专业生产烘道设备 | 无刷电机_直流无刷电机_行星减速机-佛山市藤尺机电设备有限公司 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 机构创新组合设计实验台_液压实验台_气动实训台-戴育教仪厂 | 美名宝起名网-在线宝宝、公司、起名平台 | 餐饮加盟网_特色餐饮连锁加盟店-餐饮加盟官网 | 培训中心-翰香原香酥板栗饼加盟店总部-正宗板栗酥饼技术 | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 培训一点通 - 合肥驾校 - 合肥新亚驾校 - 合肥八一驾校 | 福兰德PVC地板|PVC塑胶地板|PVC运动地板|PVC商用地板-中国弹性地板系统专业解决方案领先供应商! 福建成考网-福建成人高考网 | 在线悬浮物浓度计-多参数水质在线检测仪-上海沃懋仪表科技有限公司 | 美名宝起名网-在线宝宝、公司、起名平台 | 英超直播_英超免费在线高清直播_英超视频在线观看无插件-24直播网 | 机床主轴维修|刀塔维修|C轴维修-常州翔高精密机械有限公司 | 浴室柜-浴室镜厂家-YINAISI · 意大利设计师品牌 | 咿耐斯 |-浙江台州市丰源卫浴有限公司 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | 浇钢砖,流钢砖_厂家价低-淄博恒森耐火材料有限公司 | 啤酒设备-小型啤酒设备-啤酒厂设备-济南中酿机械设备有限公司 | 防锈油-助焊剂-光学玻璃清洗剂-贝塔防锈油生产厂家 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 杭州用友|用友软件|用友财务软件|用友ERP系统--杭州协友软件官网 | 口信网(kousing.com) - 行业资讯_行业展会_行业培训_行业资料 | 西安耀程造价培训机构_工程预算实训_广联达实作实操培训 | 酒吧霸屏软件_酒吧霸屏系统,酒吧微上墙,夜场霸屏软件,酒吧点歌软件,酒吧互动游戏,酒吧大屏幕软件系统下载 | 江西高职单独招生-江西单招考试-江西高职单招网 | 蓝莓施肥机,智能施肥机,自动施肥机,水肥一体化项目,水肥一体机厂家,小型施肥机,圣大节水,滴灌施工方案,山东圣大节水科技有限公司官网17864474793 | 达利园物流科技集团-| 膏剂灌装旋盖机-眼药水灌装生产线-西林瓶粉剂分装机-南通博琅机械科技 | 校服厂家,英伦校服定做工厂,园服生产定制厂商-东莞市艾咪天使校服 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | 浙江筋膜枪-按摩仪厂家-制造商-肩颈按摩仪哪家好-温州市合喜电子科技有限公司 | 碳纤维复合材料制品生产定制工厂订制厂家-凯夫拉凯芙拉碳纤维手机壳套-碳纤维雪茄盒外壳套-深圳市润大世纪新材料科技有限公司 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 道康宁消泡剂-瓦克-大川进口消泡剂供应商 | 网站建设-网站制作-网站设计-网站开发定制公司-网站SEO优化推广-咏熠软件 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 防爆鼓风机-全风-宏丰鼓风机-上海梁瑾机电设备有限公司 |