我正在提交一个Ajax表单,但当它到达控制器时,Request.IsAjax返回false,因此我的页面重定向。任何人都知道为什么会这样做?
我搜索了互联网并确保:
我在<appSettings>
下的web.config中有以下内容:
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
我在运行时的页面中有以下脚本来查看来源:
<script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript" />
<script src="/Scripts/modernizr-1.7.min.js" type="text/javascript" />
<script src="/Scripts/jquery-ui-1.8.11.min.js" type="text/javascript" />
<script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript" />
<script src="/Scripts/jquery.validate.min.js" type="text/javascript" />
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript" />
不确定这是不是红鲱鱼,但我会提到它,因为我在这里碰到了一堵砖墙 - 当我在谷歌浏览器中查看来源时,只有第一个脚本有颜色格式化,这让我觉得我没有没有正确的语法 - 但它对我来说是正确的! 救命啊!
答案 0 :(得分:0)
确保您的脚本引用高于Ajax调用。加载fiddler并确保找到并加载jquery脚本。
答案 1 :(得分:0)
问题是我如何提交表单。我只是在下拉列表中执行onchange="submit()"
。
我现在意识到像这样的javascript提交与ajax提交不一样! :)
如果我使用<input type="submit" />
则可行。