示例代码:
@using (Html.BeginForm("PublishSubmit", "Blog", FormMethod.Post, new { id = "publishForm", name= "publishForm" })){ @Html.AntiForgeryToken() 标题 @Html.TextBoxFor(n => n.Title, new { id = "txtTitle", size = "61" }) }
上面是我们一般在 MVC 中,使用 BeginForm 的方式,但这样我们没办法设置 Form 提交的 timeout,解决方式如下:
首先,提交按钮的类型改为 botton,并增加 onclik 事件:
增加 submit 脚本方法:
function submit() { var option_form = $("#publishForm"); $.ajax({ url: option_form.attr('action'), type: option_form.attr('method'), data: option_form.serialize(), dataType: 'json', timeout: 10000, //10秒 success: function (data) { if (data) { console.log(data); } }, error: function (xhr, ajaxOptions, thrownError) { if (xhr.status == 500) { alert("抱歉!提交失败!错误信息:" + xhr.responseText); } else { alert("提交超时,请检查网络!"); } } });}