0

编辑 该页面第一次进行 ajax 调用。然后它修改页面的DOM,对。因此,下次用户单击该链接时,该页面不会进行 ajax 调用。它只是调用对话框上的 open 方法。这就是为什么该行不是 ajax 调用的一部分。我原以为用户第二次单击链接时对话框显示得更快,但事实并非如此。它慢得多谁能解释一下?

我的页面包含一个打开 jquery 对话框的链接。链接后面的代码是

popup = $("#div").dialog({
    autoOpen: false,
    minHeight: 600,
    width: 1000,
    modal: true,
    resizable: false,
    draggable: false,
    position: { my: "top center" },
    closeText: "Cancel",
    buttons: {
        "Add": function () {
            $("#frm").submit();
            $(this).dialog("close");
        },
        "Cancel": function () {
            $(this).dialog("close");
        }
    }
});



//get data for dialog
$.ajax({
    url: "/ControllerMethod/Controller",
    dataType: "html",
    data: "personID=" + personId + "&evidencetype=" + eType,
    success: function (data, event, xhr) {
        $("#div").html(data);               
    }
});        
popup.dialog("open");

注意:popup、personId、eType 之前已定义。

ajax 调用的控制器方法是这样的

public ActionResult ControllerMethod(string category)
{
    Model1 model = new Model1();
    Model2 cat = new Model2(category);
    model.property.Add(cat);

    return PartialView("view", model);
}

该模型包含大约 1200 行。该对话框第一次按预期显示,但第二次生成有关脚本运行时间过长的脚本错误。

我能做些什么来 1)摆脱脚本错误和 2)在合理的时间内显示对话框?

谢谢

4

0 回答 0