为什么 %20 附加到 URL 地址 localhost
Why is %20 Attached to URL Address localhost
我正在使用 mongo 构建节点应用程序。我正在尝试对我的应用程序资源执行基本的 CRUD,即 mongo。创建和读取数据工作正常,但当我尝试从 mongo.
更新或删除数据时出现问题
我使用 morgan 记录所有请求,在我的控制台终端中,我看到 %20
附加到我的资源端点,如:
GET /admin/routes/delete-page/%205a958ac44d47582a841a0f5c 404 4.641 ms - 191
随后我的编辑和删除请求都失败了。
这是我的删除请求代码示例:
router.delete('/delete-page/:page_id', (req, res)=>{
let pageId = req.params.page_id;
console.log(pageId);
Pages.findByIdAndRemove({_id: pageId})
.exec()
.then(result => {
if (result){
console.log(`Page Deleted`);
req.flash('success', 'Page Deleted');
res.redirect('/admin/routes');
} else {
console.log(`Error Deleting Page`);
}
})
.catch(err => {
console.log(`Requested Page Not Found`);
console.error(err);
});
});
为什么会这样?
%20
表示您提供的 url
中有一个 space。您的请求失败了。
它是以URL格式编码的字符串space。您可以了解更多 here.
在您的情况下,您的 ID 开头有一个 space。如果要删除“%20”而不是 space,快速解决方法是使用 trim or replace 从 ID 的 beginning/end 中删除白色 space。
请注意,最初存储 page_id
时可能会添加 space,因此您最好解决问题的根本原因。
GET /admin/routes/delete-page/%205a958ac44d47582a841a0f5c
%20
有个url-encodedspace。 某事 正在产生损坏的 link。最有可能的候选人是您的观点(或生成 url 的任何地方)。我的第二个最佳猜测是某种代理(例如,错误的 nginx 规则)。
如果我没理解错的话,
%20 用于替换为“%20”的空白 space。
状态 404 是找不到站点,URL 正确吗?
我正在使用 mongo 构建节点应用程序。我正在尝试对我的应用程序资源执行基本的 CRUD,即 mongo。创建和读取数据工作正常,但当我尝试从 mongo.
更新或删除数据时出现问题我使用 morgan 记录所有请求,在我的控制台终端中,我看到 %20
附加到我的资源端点,如:
GET /admin/routes/delete-page/%205a958ac44d47582a841a0f5c 404 4.641 ms - 191
随后我的编辑和删除请求都失败了。
这是我的删除请求代码示例:
router.delete('/delete-page/:page_id', (req, res)=>{
let pageId = req.params.page_id;
console.log(pageId);
Pages.findByIdAndRemove({_id: pageId})
.exec()
.then(result => {
if (result){
console.log(`Page Deleted`);
req.flash('success', 'Page Deleted');
res.redirect('/admin/routes');
} else {
console.log(`Error Deleting Page`);
}
})
.catch(err => {
console.log(`Requested Page Not Found`);
console.error(err);
});
});
为什么会这样?
%20
表示您提供的 url
中有一个 space。您的请求失败了。
它是以URL格式编码的字符串space。您可以了解更多 here.
在您的情况下,您的 ID 开头有一个 space。如果要删除“%20”而不是 space,快速解决方法是使用 trim or replace 从 ID 的 beginning/end 中删除白色 space。
请注意,最初存储 page_id
时可能会添加 space,因此您最好解决问题的根本原因。
GET /admin/routes/delete-page/%205a958ac44d47582a841a0f5c
%20
有个url-encodedspace。 某事 正在产生损坏的 link。最有可能的候选人是您的观点(或生成 url 的任何地方)。我的第二个最佳猜测是某种代理(例如,错误的 nginx 规则)。
如果我没理解错的话,
%20 用于替换为“%20”的空白 space。
状态 404 是找不到站点,URL 正确吗?