我正在使用jQuery Form和ASP.NET MVC。 ASP.NET MVC的预览5在HttpRequest上有一个名为IsAjaxMvcRequest
的扩展方法,它检测POST是否是Ajax请求。这个扩展方法基本上“嗅探”一个名为__MVCASYNCPOST
的表单值,并且(基本上)如果看到这个元素则返回true。
我想要做的是使用脚本(我不能使用隐藏字段,因为它违背了目的)将此值注入到表单帖子中 - 我不知道如何使用jQuery执行此操作。
这是我的代码:
<script type="text/javascript">
$(document).ready(function() {
$('#jform').submit(function() {
//add a flag for asynch submit
//" __MVCASYNCPOST
$('#jform').ajaxSubmit({ target: '#results2' });
return false;
});
});
</script>
我真的应该知道怎么做:)但我没有!此外 - 这里需要经济的代码,因此可以减少LOC。
答案 0 :(得分:8)
ajaxSubmit()
接受data
参数以及要发送的其他键值对。
此外,如果请求是AJAX请求,则有更好的方法来测试服务器端。 jQuery将HTTP标头X-Requested-With
设置为XMLHttpRequest
。您可以更改扩展方法以测试该方法,而不是自定义字段。