如何在没有 UI 连接的情况下直接从后端访问浏览器上的 PUT/POST/DELETE 端点
How to access PUT/POST/DELETE endpoints on browser directly from backend without UI connectivity
如何在浏览器中直接使用NodeJS中的PUT/POST/DELETE方法?
router.put('/sync/:syncId', (req, res) => {
res.send(JSON.stringify({ "status": 200, "error": false, "response": "HELLO WORLD" }));
});
这是我在浏览器和 Postman 中访问端点的方式:
http://localhost:4600/v1/fetchprojdetails/delete/1
当我在浏览器上使用上面的代码时,路由器的行为很奇怪,无法正常工作。它既不显示 res.send() 语句,也不显示任何 console.log() 语句(如果上述函数中有任何语句),但是当我使用相应的 HTTP 方法在 Postman 上尝试相同的操作时(PUT/POST/DELETE)然后它就可以正常工作了。当我更改上面的代码并将 router.delete() 替换为 router.get().
时,同样的事情起作用了
有人可以向我解释为什么在浏览器和 POSTMAN 上会出现这种行为。是不是让浏览器无法直接理解PUT/POST和DELETE方法?
Postman 是一种旨在发出自定义 HTTP 请求以便开发人员可以测试 API 的工具。浏览器是设计用于显示网页和嵌入其中的 运行 网络应用程序的工具。
如果您将 URL 推入浏览器的地址栏,那么它会发出 GET 请求。地址栏是一个 UI,可以获取网页并将其显示给用户。
如果你想发出 POST 请求,那么你需要加载一个 HTML 文档,其中包含一个 <form ... method="POST">
或 JavaScript ,使 Ajax 请求。
如果您想使用任何其他动词,则必须使用 Ajax 请求。
如何在浏览器中直接使用NodeJS中的PUT/POST/DELETE方法?
router.put('/sync/:syncId', (req, res) => {
res.send(JSON.stringify({ "status": 200, "error": false, "response": "HELLO WORLD" }));
});
这是我在浏览器和 Postman 中访问端点的方式:
http://localhost:4600/v1/fetchprojdetails/delete/1
当我在浏览器上使用上面的代码时,路由器的行为很奇怪,无法正常工作。它既不显示 res.send() 语句,也不显示任何 console.log() 语句(如果上述函数中有任何语句),但是当我使用相应的 HTTP 方法在 Postman 上尝试相同的操作时(PUT/POST/DELETE)然后它就可以正常工作了。当我更改上面的代码并将 router.delete() 替换为 router.get().
时,同样的事情起作用了有人可以向我解释为什么在浏览器和 POSTMAN 上会出现这种行为。是不是让浏览器无法直接理解PUT/POST和DELETE方法?
Postman 是一种旨在发出自定义 HTTP 请求以便开发人员可以测试 API 的工具。浏览器是设计用于显示网页和嵌入其中的 运行 网络应用程序的工具。
如果您将 URL 推入浏览器的地址栏,那么它会发出 GET 请求。地址栏是一个 UI,可以获取网页并将其显示给用户。
如果你想发出 POST 请求,那么你需要加载一个 HTML 文档,其中包含一个 <form ... method="POST">
或 JavaScript ,使 Ajax 请求。
如果您想使用任何其他动词,则必须使用 Ajax 请求。