У меня есть сайт, созданный на WordPress, и один из его маршрутов обслуживает сервер node.js. Предположим, https://www.wordpress.com/
является доменом, а маршрут node.js
- https://www.wordpress.com/node
.
Настройки службы хостинга (извините, что они не на английском языке sh)
На сервере узла запущен reactjs
интерфейс, и этот интерфейс делает запросы к серверу через API выборки. URL запроса выглядит следующим образом https://www.wordpress.com/node/api/user-login
. В моем коде реакции у меня есть это для создания запроса
res = await fetch("api/user-login/", {
headers: {
"Content-Type": "application/json",
"Accept": "application/json"
},
method: "POST",
body,
})
Я ожидал, что сервер POST, но вместо этого я получил это сообщение об ошибке
404 Not Found
Cannot POST //api/user-login/
Я не Знайте, почему две косые черты тоже Запрашивают заголовки . Обратите внимание, что ссылки, окрашенные в синий цвет, эквивалентны примеру wordpress.com/node
Мои маршруты. js и мой сервер. js файлы (на стороне сервера) выглядят так:
сервер. js
app.use(express.static(path.join(__dirname, 'build')))
app.use("/api", require("./src/routes"))
app.get('/', function(_req, res) {
res.sendFile(path.join(__dirname, 'build', 'index.html'));
})
src /routes.js
const routes = express.Router()
routes.post("/user-login", login)
routes.get("/refresh-token", refreshToken)
module.exports = routes
Не знаю, почему я не могу публиковать сообщения на этом маршруте. Они находятся на одном сайте, поэтому Я думаю, CORS не является проблемой.
Еще один важный момент: сайт WordPress использует протокол https , и я попытался чтобы решить Cannot POST
ошибку при настройке узла сервера с и без https, но ни один не работал (я использовал тот же сертификат и ключ WordPress).
Любой ответ здесь приветствуется, большое спасибо и я Прошу прощения за мой плохой Энгли sh, еще раз спасибо.