一开始我是这么写的,一直报错,跳转路径解析不了,显示为问号:

前台html:

<form>
<table style="margin: 200px auto;">
<tr>
<td><label for="login_userName">用户名</label></td>
<td><input type="text" class="form-control" id="login_userName" placeholder="用户名">
</td>
</tr>
<tr>
<td><label for="login_password">密 码</label></td>
<td><input type="password" class="form-control" id="login_password" placeholder="密 码">
</td>
</tr>
<tr>
<td><button type="submit" class="btn btn-default" onclick="login()">登录</button></td>
</tr>
</table>
</form>

js

function login(){
var loginInfo = {
"loginname":$("#login_userName").val().trim(),
"password":$("#login_password").val().trim()
}
var timestamp=new Date().getTime();
var url="/pub/frame.html?timestamp="+timestamp;
$.ajax({
url: '/login/login.do',
type: 'post',
dataType: 'json',
contentType:'application/json',
async:false,
data: JSON.stringify(loginInfo),
success: function (data) {
//正常回调
if(data.status==0){
$("#login_userName").val("");
$("#login_password").val("");
window.location.href=url;
}else if(data.status==1) {
alert(data.msg);
}
},
error:function (data) {
alert(data.msg);
}
});
}

解决方案有三种:

第一种:将提交按钮type由submit改为button

第二种:在跳转页面方法也就是window.location.href=url;后加上window.event.returnValue=false;

第三种:在按钮点击事件中写:onclick="login();return false;"

因为使用ajax跳页提交了一次表单,而submit也会自动提交表单,需要阻断submit的提交。

ajax控制页面跳转的更多相关文章

  1. js 控制页面跳转的5种方法

    js 控制页面跳转的5种方法 编程式导航: 点击跳转路由,称编程式导航,用js编写代码跳转. History是bom中的 History.back是回退一页 Histiory.go(1)前进一页 Hi ...

  2. Jsp页面跳转和js控制页面跳转的几种方法

    Jsp 页面跳转的几种方法 1. RequestDispatcher.forward() 在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servle ...

  3. js控制页面跳转,清缓存,强制刷新页面

    单看标题,必定满脸蒙13. 其实,想表达的仅仅是,在js中通过window.location.href控制页面跳转时,有时会跳转至缓存页面,并没有真正去请求要跳转的地址,导致页面数据未能及时加载刷新. ...

  4. php 控制页面跳转

    <?php class UserAction extends Action{ public function index(){ echo "你好!"; $m=M('user' ...

  5. Ajax实现页面跳转与结果返回

    ajax实现页面局部跳转与结果返回 1.带有结果返回的提交过程 这里用一个提交按钮来演示,HTML代码为: <input type="button" class=" ...

  6. 使用AJAX实现页面跳转

    $.ajax({ type:"POST", url: //你的请求程序页面随便啦 async:false,//同步:意思是当有返回值以后才会进行后面的js程序. data://请求 ...

  7. vue滚动行为控制——页面跳转返回上一个页面保留滚动位置

    需求分析: 一般这个功能在后台管理系统用的比较多,因为后台页面都是在当前页面打开,对于某些列表筛选页,如果列表数据比较多,页面就会滚动.当页面发生滚动,对列表数据进行查看或者编辑的时候,跳转到下一级页 ...

  8. Djangoform表单Ajax控制跳转

    需求: 1:在登陆页面输入账号密码后,ajax异步提交数据给后端验证. 2:验证通过后,后端指定跳转页面,并把页面封装进返回的Json数据中,由ajax控制from表单跳转到目标页面 一:登陆页面HT ...

  9. Ajax发送POST请求SpringMVC页面跳转失败

    问题描述:因为使用的是SpringMVC框架,所以想使用ModelAndView进行页面跳转.思路是发送POST请求,然后controller层中直接返回相应ModelAndView,但是这种方法不可 ...

随机推荐

  1. 算法训练 P1102

      算法训练 P1102   时间限制:1.0s   内存限制:256.0MB      定义一个学生结构体类型student,包括4个字段,姓名.性别.年龄和成绩.然后在主函数中定义一个结构体数组( ...

  2. Unity3D游戏-愤怒的小鸟游戏源码和教程(二)

    Unity愤怒的小鸟游戏教程(二) 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) AngryEva游戏效果 ...

  3. CSU 1112: 机器人的指令

    1112: 机器人的指令 Submit Page          Description 数轴原点有一个机器人.该机器人将执行一系列指令,你的任务是预测所有指令执行完毕之后它的位置. ·LEFT:往 ...

  4. C#写的window服务内存溢出

    浅谈c#垃圾回收机制(GC) 写了一个window服务,循环更新sqlite记录,内存一点点稳步增长.三天后,内存溢出.于是,我从自己的代码入手,查找到底哪儿占用内存释放不掉,最终明确是调用servi ...

  5. Android和Linux下设备节点的创建笔记

    1. Linux kernel创建的/dev/下的设备节点是不对的, 其实是kernel仅负责在/sys/(基于内存的虚拟文件系统)创建一大堆下目录和文件,而真正的设备节点是在用户空间程序创建的,应该 ...

  6. CodeIgniter 安装指导

    CodeIgniter 安装分为四个步骤: 解压缩安装包. 把 CodeIgniter 文件夹和里面的文件上传到你的服务器.通常 index.php 在根目录. 用任何文本编辑器打开 applicat ...

  7. windows 版nginx 的一些基础知识

    nginx的Windows版本使用原生Win32 API(非Cygwin模拟层).当前nginx/Windows只使用select作为通知方法,所以不要期待它有很高的性能和扩展性.鉴于这点和一些已知问 ...

  8. 哈勃(Hubble)望远镜的新发现

             请看下图: itok=FcRLe7t_" name="图形1" alt="" border="0" height ...

  9. 如何构建 MVC&AJax&JSon示例

    背景: 博客中将构建一个小示例,用于演示在ASP.NET MVC4项目中,如何使用JQuery Ajax. 直接查看JSon部分 步骤: 1,添加控制器(HomeController)和动作方法(In ...

  10. KindEditor 上传文件 在Asp.net中的使用

    以前一直用FCK编辑器,因为配置比较简单,但是发现Kindeditor这个编辑器更加好看,更加灵活,就用了下. 但是发现在上传文件的时候,出现了大问题,弄了我好久的时间,为了记录下,或许能帮助到您,共 ...