Ajax异步提交造成变量undefined

Posted 寻找薛定谔的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

AJAX防重复提交的办法总结?

AJAX异步提交(前端)

Datatables post 动态提交数据(传参数) 异步数据(ajax.data)

Struts2学习利用ajax异步上传

jquery ajax 表单提交被浏览器拦截解决办法

ajax学习笔记