编辑 该页面第一次进行 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)在合理的时间内显示对话框?
谢谢