Framework7 Vue promise postJson CORS问题

我正在尝试在 Framework7 Vue 中创建一个简单的应用程序。我正在使用最新版本。我有一个小的 api,我正在尝试启动并运行,但由于某种原因我无法测试我想要的代码。当我使用 promise.post、promise.get、promise.getJSON 连接时,它工作正常,但如果我尝试使用 promise.postJSON,它会失败。我不明白为什么 CORS 只会拒绝 postJSON。


不工作


self.$f7.request.promise.postJSON( self.webapi.login, { email: self.email, password: self.password } );

这些工作


self.$f7.request.promise.getJSON( self.webapi.login, { email: self.email, password: self.password } );

self.$f7.request.promise.get( self.webapi.login, { email: self.email, password: self.password } );

self.$f7.request.promise.post( self.webapi.login, { email: self.email, password: self.password } );

我的 API 中的 PHP 标头


header("Access-Control-Allow-Origin: *");

header("Access-Control-Allow-Methods: *");

header("Access-Control-Allow-Headers: *");

header("Access-Control-Max-Age: 1728000");

API 返回样本


{"reply":"1","id":2,"token":";lk3984hq347y0q34h;q34kjhiq98u987oi4h","code":"123456"}


慕尼黑8549860
浏览 68回答 1
1回答

慕慕森

您的 GET 请求将生成简单的请求,但 POST JSON 需要一个不安全的Content-Type请求标头,因此需要一个预检 OPTIONS 请求。API 无法以可接受的方式响应预检。错误消息将准确地告诉您如何(通常它会以不可接受的状态代码(例如重定向或错误)响应)或者将丢失或错误的Access-Control-...标头。
打开App,查看更多内容
随时随地看视频慕课网APP