koa post总是显示Method Not Allowed (debian firefox)?

发布于 2022-09-07 21:56:52 字数 1726 浏览 30 评论 0

//server.js
const Koa = require('koa')
const app = new Koa();
const bodyParser = require('koa-bodyparser');
app.use(bodyParser());

const Router = require('koa-router');
const fs = require('fs');

const router = new Router();
const UserController = require('./server/controller/user.js');
const checkToken = require('./server/token/checkToken.js');
router.get('/user/login', async ctx => {
     ctx.body = JSON.parse(fs.readFileSync( './pass.json'));
     console.log(ctx.body);
 });
router.post('/signin', async (ctx, next) => {
 var
     name = ctx.request.body.name || '',
     password = ctx.request.body.password || '';
 console.log(`signin with name: ${name}, password: ${password}`);
      if (name === 'koa' && password === '12345') {
     ctx.response.body = `<h1>Welcome, ${name}!</h1>`;
 } else {
     ctx.response.body = `<h1>Login failed!</h1>
     <p><a href="/">Try again</a></p>`;
 }
 });

app.use(router.routes()).use(router.allowedMethods());

app.listen(8090, () => {
 console.log('The server is running at http://localhost:' + 8090);
 });

koa:2.52
koa-bodyparse:4.21
koa-router:7.4

访问http://localhost:8090/user/login后,get方法浏览器可以获得回应的json数据,但是http://localhost:8090/signin后,post总是在浏览器显示405 Method Not Allowed.查看浏览器显示请求方法为GET,响应头Allow:POST Connection:keep.alive

麻烦大家帮忙看看可能会是什么问题 感谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

幸福%小乖 2022-09-14 21:56:52

你应该是直接在服务端访问post请求的吧, 那样是不允许的, 你试试从客户端form的post提交是可以成功的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文