我一直在尝试从我的 Sails.js 服务器发送 200 状态,以响应来自 IAPhub 的演示 POST webhook 请求,这是一个应用内购买 API(这是开始使用我的 Android 应用程序测试它所必需的),但它不是t工作,所以我尝试使用邮递员对其进行测试。
这是控制器方法:
getInAppPurchase: async function (req, res) {
req.header('Access-Control-Allow-Origin', '*')
req.header('Access-Control-Allow-Methods', 'OPTIONS,GET,PUT,POST,DELETE');
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'OPTIONS,GET,PUT,POST,DELETE');
if (req.method == "OPTIONS") {
res.send("success")
} else {
// res.header('Access-Control-Allow-Headers', 'Content-Type');
res.send('Success 1')
res.end()
}
}
这是路线:
'POST /inapppurchases/getInAppPurchase' : 'InAppPurchaseController.getInAppPurchase'
这是我在 config/security.js 中的 CORS 安全配置:
cors: {
allRoutes: true,
allowOrigins: '*',
allowCredentials: false
}
这是我在邮递员中发送演示 webhook 的应用程序 URL(出于安全目的,URL 中的数字与原始数字不同。(config/security.js 中的 cors 配置对所有路由开放,因此我的服务器不是那样)安全) http://mighty-app-46232519.herokuapp.com/inapppurchases/getInAppPurchase
我只是一名初级开发人员,所以大部分这些东西对我来说都是新的,但在过去的几个小时里我尝试了很多不同的东西,但没有任何效果。我收到如下错误消息:
来自源“https://meeting-appppp.postman.co”的 XHttpXMLRequest 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:没有“Access-Control-Allow-Origin”标头出现在请求的资源。
我尝试了以下事情:
- 添加
header('Access-Control-Allow-Origin', '*');
header('Access-Control-Allow-Methods', 'OPTIONS,GET,PUT,POST,DELETE');
对 req 和 res 对象
- 检查方法是否是飞行前选项请求
if (req.method == "OPTIONS") {
- 将 200 状态代码发送回 webhook 源,这是首先的目标(据我所知,“发送”会自动发送 200 状态代码)
res.send("success")
非常感谢你的帮助。