Node.js AZURE中不允许HTTP错误405方法
正在寻找有关此错误的帮助。 在azure上托管我的Node.js和Angular项目后,我在POST请求中遇到了该错误: 的Http失败响应https://https://green-market.azurewebsites.net/api/auth/login:405方法不允许 这是我的web.config文件:Node.js AZURE中不允许HTTP错误405方法,node.js,angular,azure,http,hosting,Node.js,Angular,Azure,Http,Hosting,正在寻找有关此错误的帮助。 在azure上托管我的Node.js和Angular项目后,我在POST请求中遇到了该错误: 的Http失败响应https://https://green-market.azurewebsites.net/api/auth/login:405方法不允许 这是我的web.config文件: <?xml version="1.0"?> <configuration> <system.webServer>
<?xml version="1.0"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, HEAD" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
</customHeaders>
</httpProtocol>
<handlers>
<remove name="iisnode" />
<add name="iisnode" path="app.js" verb="*" modules="iisnode"/>
</handlers>
<rewrite>
<rules>
<rule name="Angular Routing" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile"
negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory"
negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
<staticContent>
<mimeMap fileExtension="woff" mimeType="application/font-woff" />
<mimeMap fileExtension="json" mimeType="application/json" />
</staticContent>
</system.webServer>
</configuration>
let originUrl;
if (process.env.PORT) {
global.config = require("./config-prod");
originUrl = "https://green-market.azurewebsites.net";
}
else {
global.config = require("./config-dev");
originUrl = "http://localhost:4200";
}
require("./data-access-layer/dal");
const express = require("express");
const session = require("express-session");
const path = require("path");
const cors = require("cors");
const productsController = require("./controllers/products-controller");
const authController = require("./controllers/auth-controller");
const shoppingCartsController = require("./controllers/shopping-carts-controller");
const ordersController = require("./controllers/orders-controller");
const citiesController = require("./controllers/cities-controller");
const server = express();
const fileUpload = require("express-fileupload");
const { request, response } = require("express");
const { url } = require("inspector");
server.use(fileUpload());
server.use(express.json());
server.use(express.static(path.join(__dirname, "./_front-end")));
server.use(cors({
origin: originUrl,
credentials: true
}));
server.use(session({
name: "OnlineMarketSession",
secret: "itsASecret",
resave: true,
saveUninitialized: false,
}));
server.use("/api/products", productsController);
server.use("/api/shopping-carts", shoppingCartsController);
server.use("/api/orders", ordersController);
server.use("/api/auth", authController);
server.use("/api/cities", citiesController);
// Any other route - return index.html as we are SPA:
server.use("*", (request, response) => {
response.sendFile(path.join(__dirname, "./_front-end/index.html"));
});
const port = process.env.PORT || 3000;
server.listen(port, () => console.log(`Listening on port ${port}`));
谢谢您也可以共享authController吗?const express=require(“express”);const authLogic=require(“../business logic/auth logic”);const User=require(“../models/User”);const{request,response}=require(“express”);const router=express.router();router.post(“/login”),async(request,response)=>{try{const credentials=request.body;const user=wait authLogic.login(credentials);if(!user){response.status(401).send(“错误的用户名或密码”);return}request.session.user=user;response.json(user);}catch(err){response.status(500).send(err.message);console.log(err.message);}})