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

首頁 > 語言 > JavaScript > 正文

詳解閉包解決jQuery中AJAX的外部變量問題

2024-05-06 15:10:55
字體:
供稿:網(wǎng)友

詳解閉包解決jQuery中AJAX的外部變量問題

在AJAX中,我們經(jīng)常都要使用外部變量,經(jīng)常會多次使用,如下代碼

 function getCarInfo(){      for(var i=0;i<4;i++){        var carId = $("#carList0"+i+" #carId").val();        var request = {           city: city,          carId: carId        };        $.ajax({           url:"enquiry",          type:'post',          data:request,          //async: false,          success:function(data){            //alert(data);            var strArr = data.split("#");            $("#carList0"+i+" #distributorId").val(strArr[0]);            $("#carList0"+i+" #font16").html(strArr[strArr.length-1]);          }        });      }    }

我期待的是按順序alert(1) alert(2) alert(3) alert(4),但是實際上三次都是alert(4)

這均是由于AJAX異步導致的問題,設置同步(async: false,)就可以解決這個問題,但是隨之而來的是,效率減低很多。這時可以輕松使用閉包解決問題:

    function getCarInfo(){      for(var i=0;i<4;i++){      ((function(i){        var carId = $("#carList0"+i+" #carId").val();        var request = {           city: city,          carId: carId        };        $.ajax({           url:"enquiry",          type:'post',          data:request,          //async: false,          success:function(data){            //alert(data);            var strArr = data.split("#");            $("#carList0"+i+" #distributorId").val(strArr[0]);            $("#carList0"+i+" #font16").html(strArr[strArr.length-1]);          }        });        }(i)));      }    }

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 都兰县| 拉萨市| 金沙县| 镇康县| 自贡市| 贵德县| 徐闻县| 东乡县| 宁津县| 大石桥市| 镇平县| 浦北县| 蒲江县| 巢湖市| 射阳县| 湘潭县| 丰城市| 巴彦县| 泸西县| 霍山县| 江孜县| 海口市| 家居| 合川市| 宽城| 晋州市| 长春市| 承德市| 克山县| 航空| 密山市| 石嘴山市| 慈溪市| 石柱| 东乌| 三明市| 临桂县| 毕节市| 孝昌县| 雅江县| 长顺县|