因此,基本上,我在Heroku上托管了一个MEVN-stack应用程序,并且努力了几天,试图了解为什么我的Axios帖子无法在Android上正常运行,而在P.C上可以正常运行。我唯一能使它工作的是我在本地调试时对IP进行硬编码,但由于在Heroku中无法使用静态IP不能正常工作。我什至尝试在生产中将BaseURL动态更改为IP地址,但没有任何运气。我有什么想念的吗?我已经阅读了有关Android的“ usesCleartextTraffic”以及有关标头和证书的一些问题。我在兔子洞的深处,似乎没有任何作用。
我将通过堆栈为请求提供片段;
从视图中:
import GuestsService from "../services/GuestsService.js";
async registerGuestMail() {
await GuestsService.registerGuestMail({ email: this.email })
.then(
response => (
(this.apiResponse =
"Request O.K")
)
)
.catch(
err => (
console.log(err),
(this.apiResponse = "Request failed")
)
);
从GuestService.js:
import axios from 'axios'
export default {
registerGuestMail(params) {
return axios.post('registerGuestMail', params)
}
}
在app.js中-表达:
const express = require('express')
const bodyParser = require('body-parser')
const cors = require('cors')
const morgan = require('morgan')
const mongoose = require('mongoose');
const app = express()
app.use(morgan('combined'))
app.use(bodyParser.json())
app.use(cors())
mongoose.connect(" - insert connection string here - ")
app.post('/registerGuestMail', userController.signupPost);
app.listen(process.env.PORT || 8081, process.env.IP)
如前所述,它可以在Heroku中部署,但仅适用于P.C(如果我将baseURL:设置为'http:// localhost:8081')