一块大阳 2016-02-04 07:24 采纳率: 33.3%
浏览 1502

MVC下$.post第一次提交依旧是get方式,第二次才是post,怎么回事

需求:在login页面输入userId和pwd,如果都输入,就跳转到Home页面,我最开始使用的是$.post方式
html代码:

 <form id='form1'>
    ​<input type="text" name='userId'/>
    ​<input type="text" name='pwd'/>
    ​<input type="submit" value="login"  id="btn"/>
</form>

Jquery代码:

 $(function(){
    ​$("#btn").click(function(){
    ​    ​$.post(
    ​    ​    ​    ​'/Home/CheckLogin',
    ​    ​    ​    ​$("#form1").serialize(),
    ​    ​    ​    ​function(data)
    ​    ​    ​    ​{
    ​    ​    ​    ​    ​windows.location.href=‘@url.Action("Index","Home")’;
    ​    ​    ​    ​}
    ​    ​    ​)
    ​});
});

运行起来,输入了用户名和密码后,点击提交,能看到还是Get方式,浏览器的url上出现了?参数,第二次再提交,就可以跳转到home页面了,这是怎么回事呢?
我换了另一种提交方式 Ajax.beginForm()的方式,依旧是post,这回完全可以实现。但依旧比较困扰第一种方式,求高手解答!!!
javaScript的外部文件依次是

 <jquery-1..7.1.min.js>
<jquery.unobtrusive-ajax.js>
  • 写回答

2条回答

  • Go 旅城通票 2016-02-04 07:43
    关注
    
        $(function(){
         ​$("#btn").click(function(){
         ​    ​$.post(
         ​    ​    ​    ​'/Home/CheckLogin',
         ​    ​    ​    ​$("#form1").serialize(),
         ​    ​    ​    ​function(data)
         ​    ​    ​    ​{
         ​    ​    ​    ​    ​windows.location.href='@url.Action("Index","Home")';
         ​    ​    ​    ​}
         ​    ​    ​);
             return false;/////////阻止表单提交
         ​});
        });
    

    要么

     <input type="submit" value="login"  id="btn"/>
    

    改为type="button"

    评论

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码