Javascript html在div上的显示不一致

Javascript html在div上的显示不一致,javascript,jquery,html,css,Javascript,Jquery,Html,Css,大家好,我有一个网格,网格有编辑按钮。当我点击编辑按钮调用方法时,这个方法有3个新方法,所有3个方法都是对控制器的ajax请求,获取视图并附加到div中。但问题是,有时它用html显示div,但有时它显示空div为什么这个行为或div是空的,请帮助我该怎么做 这是所有3个分区 <div id="Div1"></div> <div id="Div2"></div> <div

大家好,我有一个网格,网格有编辑按钮。当我点击编辑按钮调用方法时,这个方法有3个新方法,所有3个方法都是对控制器的ajax请求,获取视图并附加到div中。但问题是,有时它用html显示div,但有时它显示空div为什么这个行为或div是空的,请帮助我该怎么做

这是所有3个分区

            <div id="Div1"></div>
            <div id="Div2"></div>
            <div id="Div3"></div>
所有3个功能

 function main(Url1, Url2, Url3) {
                func1(Url1);
                func2(Url2);
                func3(Url3);
            }
    function func1(page) {
                $.ajax({
                    type: "POST",
                    url: page,
                    data: $("#Data").serialize(),
                    dataType: "html",
                    success: function (html) {
                        $('#Div1').empty();
                        $('#Div1').append($.parseHTML(html));
                    },
                    error: function () {
                    alert("Error");      
        },
                    complete: function () {
                        //complete
                    }
                });
            }

function func2(page) {
                $.ajax({
                    type: "POST",
                    url: page,
                    data: $("#Data").serialize(),
                    dataType: "html",
                    success: function (html) {
                        $('#Div2').empty();
                        $('#Div2').append($.parseHTML(html));
                    },
                    error: function () {
                    alert("Error");      
        },
                    complete: function () {
                        //complete
                    }
                });
            }

function func3(page) {
                $.ajax({
                    type: "POST",
                    url: page,
                    data: $("#Data").serialize(),
                    dataType: "html",
                    success: function (html) {
                        $('#Div3').empty();
                        $('#Div3').append($.parseHTML(html));
                    },
                    error: function () {
                    alert("Error");      
        },
                    complete: function () {
                        //complete
                    }
                });
            } 

最好只创建一个函数,而不是3个

function func(element , page) {
                $.ajax({
                    type: "POST",
                    url: page,
                    data: $("#Data").serialize(),
                    dataType: "html",
                    success: function (html) {
                        $(element).empty();
                        $(element).append($.parseHTML(html));
                    },
                    error: function () {
                       alert("Error");      
                    },
                    complete: function () {
                        //complete
                    }
                });
            }
像这样使用它

function main(Url1, Url2, Url3) {
                func('#Div1',Url1);
                func('#Div2',Url2);
                func('#Div3',Url3);
            }
最后,对于任何ajax请求

1-检查url文件连接

2-检查从ajax传递的数据


3-检查返回到success函数的数据

尝试添加超时函数,因为js和ajax调用是异步的。需要一段时间才能收到响应。$(“#Data”).serialize()返回什么?@daremachine将ajax取出函数并在$(document).ready()中使用它。。如果工作正常,则再次将其返回函数。。那就行了