ajax中res和req,javascript – 来自AJAX调用的res.redirect
我正在尝试在ajax put请求之后进行重定向.我打算使用纯JS客户端进行验证.
客户:
$(document).ready(function() {
login = () => {
var username = $("[name='username']").val()
var password = $("[name='password']").val()
$.ajax({
type: "put",
url: '/login',
data: {
username: username,
password: password
}
// success: function(response) {
// console.log('Success:')
// console.log(response.user)
// Cookies.set('username', response.user.username)
// Cookies.set('first_name', response.user.first_name)
// Cookies.set('last_name', response.user.last_name)
// Cookies.set('email', response.user.email)
// window.location.href = window.location.origin + '/'
// },
// error: function(error) {
// console.log("Error:")
// console.log(error)
// }
})
}
logout = () => {
console.log("Log out clicked.")
Cookies.remove('username')
Cookies.remove('first_name')
Cookies.remove('last_name')
Cookies.remove('email')
window.location.href = window.location.origin + '/logout'
}
})
服务器:
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('main')
});
router.put('/login', function(req, res) {
// Password is not encrypted here
console.log('req.body')
console.log(req.body)
User.findOne({ username: req.body.username }, function(err, user) {
// Password is encrypted here
if (err) throw err
console.log('user')
console.log(user)
bcrypt.compare(req.body.password, user.password, function(err, result) {
if (result) {
var token = jwt.encode(user, JWT_SECRET)
// return res.status(200).send({ user: user, token: token })
return res.redirect('/')
} else {
return res.status(401).send({error: "Something is wrong."})
}
})
})
})
成功登录后,我无法获取main.hbs.我的注释代码有效,但我正在尝试重定向服务器端而不是客户端,因为我被告知它对安全性更好.
解决方法:
我不认为你想做什么是可能的. AJAX请求仅用于来回传递数据.现在发生的事情是你需要编写客户端行为的脚本.这意味着AJAX请求将传递302和其他数据一起传递到JS上的回调.不能从服务器更改客户端行为.您可以使用AJAX返回的值执行某些操作.如果是500,抛出错误信息,200做某事等.
使服务器重定向工作的唯一方法是通过传统的HTML表单提交.
标签:jquery,javascript,ajax,express
来源: https://codeday.me/bug/20190611/1217514.html
ajax中res和req,javascript – 来自AJAX调用的res.redirect相关推荐
- ajax 上传文件实例,JavaScript使用Ajax上传文件的示例代码
本文介绍了JavaScript使用Ajax上传文件的示例代码,分享给大家,具体如下: 实现文件的上传主要有两种方式: 使用form表单提交上传 html代码如下: 上传 此时的JavaScript代码 ...
- [转]掌握Ajax 第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求 [IBM]
转自:http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro2/ 掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出异步 ...
- jquery editable ajax,使用X-editable jQuery库使用来自AJAX请求的数据填充Select2标记输入字段...
我迫切需要JavaScript专家的一些帮助 . 我花了最近7个小时尝试了数百种代码组合,以获得基本的标签选择输入字段,以便与库 x-editable 和 select2 一起使用 . 我正在构建一个 ...
- ajax中解决乱码的问题,关于Ajax请求中传输中文乱码问题的解决方案
今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题. 如下代码: function UpdateFolderInfoByCustId(folderId, folderName, custI ...
- ajax中怎样获取下拉列表,如何从Ajax/Jquery的下拉列表中获取复选框中的数据
这里是asnwer你可以做的是这样的 echo ''; echo 'Select User'; $sql = "SELECT * from users"; $res = mysql ...
- ajax中dom,在(jQuery)ajax请求中获取当前脚本DOM对象
涉及两个步骤简单的解决方案: 1)找出哪些元素脚本标签是 2)发现,元素 的代码中的前一个兄弟: var scripts = document.getElementsByTagName("s ...
- Asp.net中的AJAX学习记录之一 AJAX技术的崛起与Asp.net AJAX的诞生
最近开始学习Asp.net中的AJAX,可能我的高手朋友们会说:"走还不稳呢!怎么就想学跑了?"呵呵!主要是我在做项目中体会到AJAX真的是很好的一门技术,应该好好的学习一下, ...
- .net ajax 怎么写,.NET学习篇--Ajax中Url的写法
.NET学习篇--Ajax中Url的写法 什么是Ajax AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的 ...
- ajax的post跟get区别,Ajax中post与get的区别
get和post都是向服务器发送一种请求,只是发送机制不同 . 1. GET可以通过在请求URL上添加请求参数, 而POST请求则是作为HTTP消息的实体内容发送给WEB服务器. 2. get方式请求 ...
最新文章
- Qunee for HTML5 V2.5新版本发布
- 不断审视自己,做一个长期主义者
- matlab 绘图2
- iOS架构-静态库.a编译时自动导出.h头文件(24)
- Unity3D 2017软件安装教程
- git推送指令配置_git 常用命令
- linux 进程 转存储,Linux memory management——(进程虚存空间的管理)(转)
- Android 资讯类App项目实战 第一章 滑动顶部导航栏
- Visual C++串口通信编程---多线程异步方式
- [转载] boost python numpy_boost.python 与 boost.numpy安装的一些注意事项
- Vue+SpringBoot的微信登录
- 《HTTP权威指南》思维导图一览全书
- C#使用Aforge对uvc协议摄像头亮度属性的更改
- 二分法求函数的解(函数零点)
- 计算机颜色更换,如何给证件照换底色;怎么快速更换证件照底色
- 青岛大学计算机专业春考,青岛大学春季高考分数线2020
- 国际化进程加速,上海树图区块链研究院联合创始人伍鸣博士受邀访问香港科技园...
- java生成二维码技术实现
- 网易易盾js逆向分析
- 标准正态分布变量的累积概率分布函数
热门文章
- Gartner 容器报告:阿里云与 AWS 并列第一,领先微软、谷歌
- 重磅!阿里云发布最新服务等级协议SLA ,多实例可用性升为99.995%
- 解读 Knative Eventing v0.10.0 最新版本特性
- 深度学习目标检测系列:一文弄懂YOLO算法|附Python源码
- QuickBI助你成为分析师——搞定数据源
- 阿里云迁云方式大汇总 1
- 冲击中国超融合第一,浪潮的底气从何而来?
- 腾讯车联发布TAI3.0:三步实现汽车智能进化,2个月快速上车
- AI又被彩虹吹?!新浪财经:应届博士算法毕业,80万年薪被疯抢
- 香农编码二叉树c语言,shannon码的编码实验总结.docx