首页 > 代码库 > Ajax异步提交造成变量undefined

Ajax异步提交造成变量undefined

在使用jQuery的get方法或post方法向后台发ajax请求时,在其中定义一个变量htmlcollectionlst,但是在循环结束后却发现是undifined

1 $.get("GetPlantDetailHandler.ashx", { lname: json[0].LName }, function (data) {
2      var htmlcollectionlst = "";
3        for (var i = 0; i < json.length; i++) {
4         htmlcollectionlst += json[i].CollectionID;
5       }
6      $("#winCollectionList").html(htmlcollectionlst);
7 });

解决方法:使用ajax方法,设置提交方式为同步

$.ajax({
    url: "GetPlantDetailHandler.ashx",
    type: "GET",
    async: false,
    dataType: "JSON",
    data: { lname: json[0].LName },
    success: function (data, textStatus, jqXHR) {
        var htmlcollectionlst = "";
        for (var i = 0; i < json.length; i++) {
            htmlcollectionlst += json[i].CollectionID;
        }
        $("#winCollectionList").html(htmlcollectionlst);
    }
});

 

Ajax异步提交造成变量undefined