在对Node的PUT请求中无法重定向到另一个页面
Cannot redirect to another page in PUT request for Node
我第一次使用Node和Express来制作一个简单的网站,在数据库上进行CRUD操作。当我发出put请求时,我无法将页面重定向到'/index',并且我已经运行了express调试器并且没有看到任何异常,页面根本没有改变。任何想法吗?下面是server.js
中的代码app.set('view engine', 'ejs')
app.all('/', function(req,res){
var cursor = db.collection('jobs').find().toArray(function(err, results) {
res.render('index.ejs', {jobs: results})
})
})
app.get('/index',function (req, res) {
res.sendFile(__dirname + '/index.html');
})
app.get('/view',function (req, res) {
var cursor = db.collection('jobs').find().toArray(function(err, results) {
res.render('index.ejs', {jobs: results})
})
})
app.post('/jobs', function(req, res) {
db.collection('jobs').save(req.body,function(err, result){
if (err) return console.log(err)
console.log('saved to database');
res.redirect('/view');
})
})
app.put('/view', function(req, res) {
res.redirect(303, '/index');
})
HTTP重定向只是告诉客户端从其他地方获取它所请求的数据。它没有告诉它要区别对待它。
如果您发出一个Ajax请求并获得一个重定向响应,那么浏览器将静默地遵循该重定向并将新URL的内容返回给您的JavaScript。
浏览器不会看到重定向,并决定在视图中加载一个新页面,而不是将数据呈现给JavaScript。
如果您想在发出PUT请求后加载一个新页面,那么您需要等待响应进入,然后(例如)为window.location.href
分配一个新值。
相关文章:
- 如何在一页网站中使用PHP重定向到一个页面
- php重定向到一个空白页面
- 在发布表单输入时,我可以重定向到一个新的php文件吗
- Firefox弹出窗口“;这个网页被重定向到一个新的位置“;在每个requestPromise ajax调用上,有什么方
- Facebook重定向到一个空白的权限请求页面
- 如何在组合框值更改时自动重定向下一个 jsp 页面
- 如何在更改字段中的选择后重置另一个字段中的数据
- 如果另一个下拉列表选择发生更改,则重置另一个下拉列表
- 重置另一个字段Primefaces的字段值
- javascript可以将我的页面重定向到一个url,如果失败,则不会发出警报
- 点击产品,它会自动重定向另一个网站
- 在选择电台,重定向到一个链接
- Phonegap Hybrid App - JavaScript重定向使一个绝对定位的元素闪烁并显示后面的内容
- 我需要做一个网站重定向到一个页面后21.45至10.00
- 如何使javascript加载新数据每次(不使用缓存数据),当我重定向到一个处理程序(页)在鼠标点击
- 重定向选择一个选择输入
- 我如何得到chrome.tab .update重定向到一个url
- 检查在旧版Internet Explorer中事件重定向期间一个事件是否与另一个事件相同
- 等待两秒钟,然后在jquery中自动重定向另一个页面
- Php重定向到一个服务器到另一个服务器的Php页面