重定向调试
2018-12-13
890
代码中有一个错误,但我无法弄清楚什么。
未能(在Promise)参考eRROR:REQ未定义 在DoreDirects(VM8 Worker.js:6) 在活动(VM8 Worker.js:2) 未访问(响应)参考:未定义REQ
029539997
2个回答
req.headers.get
将返回一个字符串或 null(
文档
)。
字符串有一个
match
方法,它接受正则表达式(
文档
)。
尝试将此行:
if (reqUA.matches('curl').true) {
更改为:
if (requUA !== null && reqUA.match(/curl/)) {
另一个问题是
Response
类没有
redirect
方法(
文档
)。
尝试将此行:
return Response.redirect(newLocation, 302)
更改为:
return new Response(undefined, {
status: 302,
statusText: 'Found',
headers: {
Location: newLocation
}
});
Jeremy Danyow
2018-12-13
我知道这已经过时了,OP 可能已经修复了这个问题,但为了提供答案...
问题出在这部分:
async function doRedirects(request) {
let reqUA = req.headers.get('user-agent')
在这里,当请求变量是
request
时,您使用的是
req.headers
。因此,您应该使用
request.headers
。
Cjmarkham
2021-12-30