gpt4 book ai didi

c# - jQuery 表单提交函数中的 AJAX 调用

转载 作者:行者123 更新时间:2023-11-30 21:19:17 25 4
gpt4 key购买 nike

我正在使用 ASP.NET MVC。所以我的页面上有一个表单:

<form id="MyForm" name="MyForm" method="post" action="http://www.mysite.com">
<input id="hdnType" name="hdnType" type="hidden" />
</form>

我正在使用 jQuery 提交操作在发布表单之前进行一些验证。我还需要进行 AJAX 调用以根据我未包含在此示例中的几个下拉列表中的其他值设置“hdnType”:

$('#MyForm').submit(function()
{
if (!ValidForm())
return false;

$.ajax({
type: "POST",
url: '/Home/GetType',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response)
{
$('#hdnType').val(response);
}
});

return true;
}

submit() 函数中的所有内容都应该在表单发布之前运行。在我添加 AJAX 调用之前,它工作正常,但现在当代码到达我的 AJAX 调用时,表单在我可以设置“hdnType”之前发布。

有解决办法吗?

最佳答案

ajax 调用有一个参数async。默认情况下为真。这会导致不暂停执行并完成函数。尝试将其更改为

$.ajax({
async:false,
type: "POST",
url: '/Home/GetType',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response)
{
$('#hdnType').val(response);
}
});

这可能是一种糟糕的做法,因为它会卡住浏览器直到完成。考虑按照 Dave 的建议使用异步回调函数

关于c# - jQuery 表单提交函数中的 AJAX 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3866527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com