我正在制作一个包含Node.js、Express和EJS的应用程序,在按下一个按钮后,它会将您重定向到一个不同的页面(例如从localhost:3000/转到localhost:3000/about)。post请求被服务器接收,因为'post request'被记录到服务器端控制台,但是我没有被重定向,没有错误消息或任何东西。
服务器:
const express = require('express')
const app = express()
app.listen(3000)
app.set('view engine', 'ejs')
app.use(express.static('public'))
app.get('/', (req, res) => { //works as intended
res.render('home')
})
app.post('/', (req, res) => {
res.redirect(307, 'https://google.com') //nothing happens, google.com as an example
console.log('post request') //logged on server console
})
客户:
button = document.getElementById('button')
text = document.querySelector('textarea')
button.addEventListener('click', () => {
fetch('/', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
data: text.value
})
})
})
您在客户端应用程序中调用的fetch()
函数允许您从node.js API获取信息。但是,它不允许您重定向到另一个页面。
如果要重定向,可以使用html元素指向Express服务器的URL,在这里可以将您重定向到另一页。
app.get('/redirect-me', (req, res) => {
res.redirect(307, 'https://google.com') //nothing happens, google.com as an example
res.render('home')
})
<a href="/redirect-me">Click here and you will be redirected to Google</a>
问题内容: 我想从一个URL请求重定向到另一个“ POST”请求,如下所示: 但是,我无法重定向到“ / test”页面,因为它是POST请求。 那么,在保持“ / test”请求POST的情况下,如何使重定向工作呢? 问题答案: 你可以这样做: 它将保留send方法。 供参考,307 http代码规范为: 307临时重定向(自HTTP / 1.1起)在这种情况下,应使用另一个URI重复请求,但是
我正在编写一个使用React作为前端的程序,以及一个用于后端的Express/Node API,然后在MongoDB数据库中执行CRUD操作。现在,我正在使用本地JS抓取()API在我的前端执行GET/POST操作。GET请求工作正常,但是我的POST请求似乎不工作。在我的前端,我有一个表单和一个表单提交处理程序,如下所示: 然后在端口5002上的Express API上,我有: 然而,当表单提交
我有一个网页,这是一个邮政路线。这个页面有一个删除按钮,可以路由到另一个POST路由,在这里我删除指定的数据库行并重定向回第一个页面。 问题是,当我使用任何back()或reway()函数时,它们似乎会产生对上一个URL的GET请求。但上一页是仅限POST页。 如何将POST请求和POST数据重定向回?
问题内容: 我需要通过POST请求将用户重定向到外部站点。 我发现的唯一选择是通过JavaScript提交表单。 有任何想法吗? 问题答案: 你的意思还不太清楚,所以让我们来看一些情况: 用户应将表格过帐到你自己以外的服务器上 简单,只需将目标指定为表单操作即可: 成功提交POST后应重定向用户 像往常一样轻松地接受和处理POST数据,然后使用或重定向标头进行响应。 用户应将数据发布到你的服务器,
我正在使用Multipart执行帖子类型请求。问题是因为我一直收到两个错误 1) 500 2) 422不可处理实体 Api仅接受音乐文件。因此,我添加了一个默认文件,以避免不断选择新文件 和我的界面 如果有任何帮助,我将不胜感激。 我发现它将文件作为对象通过Reform2发送到服务器
我正试图根据以下代码发出post请求: 在Postman,此请求工作正常,不需要身份验证,无需登录名、密码或令牌即可工作。但是,上面的代码不起作用。 日志控制台的一部分如下: 我无法粘贴整个stacktrace,因为stackoverflow平台不允许。