我已经获得了ASP提交按钮
<asp:button runat="server" Text="Submit" id="btnSubmitOrder" OnClientClick="return SubmitOrder()" />
我的Javascript函数SubmitOrder()需要执行POST,然后根据POST的成功,允许表单提交(返回true)或取消它(返回false)
function SubmitOrder() {
$.ajax({
async: false,
type: 'POST',
url: strURL,
data: arrKeyVal,
contentType: 'application/json',
success: function (data) {
if (data.results.count > 0) {
return true;
} else {
return false;
}
},
error: function (jqXHR, exception) {
return false;
}
});
}
我担心的是,由于现在已弃用,因此可能很快就会过时。
主线程上的同步XMLHttpRequest因不推荐使用 它对最终用户的体验产生不利影响。如需更多帮助, 检查https://xhr.spec.whatwg.org/。
那我该怎么处理呢?知道我需要在允许表单提交之前等待响应。
答案 0 :(得分:1)
您只能同步取消活动。一种选择是不将gulp-watch
附加到表单提交事件,而只是创建一个单击处理程序,然后在您的ajax回调中实际提交表单。
SubmitOrder
...或者您可以执行表单的Ajax提交,而不是常规的HTML表单提交。
答案 1 :(得分:0)
function SubmitOrder() {
event.preventDefault();
$.ajax({
context: this,
type: 'POST',
url: strURL,
data: arrKeyVal,
contentType: 'application/json',
success: function (data) {
if (data.results.count > 0) {
$('form').submit();
} else {
return false;
}
},
error: function (jqXHR, exception) {
return false;
}
});
}
编辑:此功能尚未引用表单,因此您需要选择表单然后调用submit。