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

前台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. 程序运行时间c++/matlab

    前言 一般在调试程序的过程中,需要查看代码运行速度的快慢,此时则需要计算代码的运行时间. 实验过程: c++: #include<iostream> #include<time.h& ...

  2. stm32内部温度计算方法

    计算公式:Temperature  = {(V25 - VSENSE) / Avg_Slope} + 25 V25              最小=1.34V     典型=1.43V   最大=1. ...

  3. [LeetCode&Python] Problem 461. Hamming Distance

    The Hamming distance between two integers is the number of positions at which the corresponding bits ...

  4. (转)函数库调用 VS 系统调用

    Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions).可以参考<Linux程序设计>(英文原版为<Beginning ...

  5. 无法对 数据库'XXXXX' 执行 删除,因为它正用于复制

    无法对 数据库'XXXXX' 执行 删除,因为它正用于复制. (.Net SqlClient Data Provider) 使用以下方式一般可以解决 sp_removedbreplication 'X ...

  6. nyoj 表达式求值

    35-表达式求值 内存限制:64MB 时间限制:3000ms Special Judge: Noaccepted:19 submit:26 题目描述: ACM队的mdd想做一个计算器,但是,他要做的不 ...

  7. Javascript 的严格模式 use strict

    严格模式 "use strict"; x = 5; 这时浏览器会报错.

  8. thinkphp mysql和mongodb 完美使用

    thinkphp mysql和mongodb 完美使用.第一步:在你的应用的Model文件下建立一个MonModel如下图第二步:MonModel的内容如下 <?php /** * Create ...

  9. 【python】实例-把两个无规则的序列连接成一个序列,并删除重复的元素,新序列按照升序排序

    list_one=[3,6,2,17,7,33,11,7] list_two=[1,2,3,7,4,2,17,33,11] list_new=list_one+list_two list=[] i=0 ...

  10. asp.net Repeater使用例子,包括分页

    <style type="text/css">    .tab{border-collapse:collapse; margin:0 auto;}    .tab th ...