一块大阳 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"

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据