我有一个 MVC 应用程序,我在文本框模糊函数上调用 jquery post 方法。问题是表单有很多输入字段,并且在每个输入字段上模糊调用相同的ajax方法,如果用户在不同的文本框中快速点击进出,ajax方法调用两次,导致错误的结果。
这是一个例子
Flight 1
Airline Flight # Class Date
S1 TextBox1 TextBox2 TextBox3 TextBox4
S2 TextBox1 TextBox2 TextBox3 TextBox4
S3 TextBox1 TextBox2 TextBox3 TextBox4
我厌倦的一个解决方案是在像这样调用 ajax 时禁用所有输入文件
function Submit() {
$('input').attr("disabled", "disabled");
$.post("/ItineraryBuilder/GetFlightData", { opportunityId: oppID}, function (data)
{
$("#DivResult").html(data);
$('input').removeAttr("disabled");
}
}
这会禁用所有输入字段并限制用户频繁地从文本框输入输出,这反过来又不会一次又一次地调用 Ajax 发布。但是一旦输入字段被禁用,焦点也会丢失,在这种情况下很难使用 TAB。
那么有什么方法可以锁定 ajax 调用或 Controller/Action 一段时间,直到一个操作正在进行中,另一个操作不会启动,或者有其他更好的方法来做到这一点?
希望我能澄清我的观点。