gpt4 book ai didi

javascript - Express 中的路由处理程序没有调用任何东西?

转载 作者:行者123 更新时间:2023-11-30 20:13:54 24 4
gpt4 key购买 nike

我做了一个简单的文本框接受

Youtube Video URL

它切片它的视频 ID 并使用 fetch 将数据发送到我的快速服务器。我正在使用 Youtube 数据 API v3

//after clicking button sends data
//input fields are defined already.
const sendData = (event) => {
event.preventDefault();
const filterUrl = input2.value.indexOf('&') != -1 ? input2.value.slice(0, input2.value.indexOf('&')) : input2.value;
const url = new URL(filterUrl).searchParams.get("v");
fetch('/', {
method: 'post',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
urlname: url.toString()
})
})
.then(function(res) {
console.log(res)
})
.catch(function(error) {
console.log(error)
});
}

这是我的 Express 处理程序:

//defined routes and PARAMETER variable is globally defined
app.route('/')
.get((req, res) => {
res.render('container/index', {
title: 'Hello User!',
content: 'Welcome to youtube Comment viewer'
});
})
.post((req, res) => {
console.log("hello")
PARAMETER = req.body.urlname;
console.log(PARAMETER);
res.redirect('/randomCommentView');
});


//get request
app.get('/randomCommentView', (req, res) => {
console.log("inside");
Comments(PARAMETER)
.then((data) => {
res.render('container/comment', {
Comment: 'fgfg'
})
}).catch(err => {
if (err) res.status(404).render('container/index', {
notFound: `Your request couldn't be completed ERR: ${err}`
})
})
console.log(req.body);
});

但是当我提交我的 Youtube 视频 url 时,该页面保持在同一条路线上。这是我的输出图像:

enter image description here

所以看起来路由正在被调用,但页面 URL 在网络浏览器中没有改变。有谁知道这可能的原因。谢谢,问候。

最佳答案

由于您使用 javascript 发出请求,因此只有 javascript 会遵循您的重定向。

您可以做的不是从服务器发送重定向,而是在您的客户端发送一个将触发手动重定向的特殊代码 (window.location.href = ...) JavaScript 代码。

关于javascript - Express 中的路由处理程序没有调用任何东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52118766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com