如何在连接到 API(在 Yii 中)的移动应用程序(cordova)上启用跨域资源共享
Posted
技术标签:
【中文标题】如何在连接到 API(在 Yii 中)的移动应用程序(cordova)上启用跨域资源共享【英文标题】:How to enable Cross-Origin Resource Sharing on my mobile app (cordova) that hooks up to an API (in Yii) 【发布时间】:2014-10-09 03:29:26 【问题描述】:我在本地 Web 环境中实现了一个移动 cordova 应用程序(来自另一个外部开发人员),该应用程序与我开发的 RESTful API 系统结合使用。
我正在尝试登录,这会将 JSON 请求与用户名和密码一起传递给我的 API,并且基本上会返回响应。
在 Mozilla Firefore 中,我在控制台日志中得到以下响应:-
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://mystickers.local/myStickersApi/V1/appLogin.
This can be fixed by moving the resource to the same domain or enabling CORS.
谁能提供启用跨域请求共享的最佳/最简单方法,我的 API 是使用 Yii 1.xx(例如 php)开发的,而移动应用程序是使用 Cordova 框架(html5/CSS 和 javascript 的组合)开发的)。
【问题讨论】:
【参考方案1】:在 json 内容被回显之前,我将以下代码块添加到我的 API 中
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE");
header("Access-Control-Allow-Headers: Authorization");
现在似乎可以工作了:)
【讨论】:
救了我的命!!谢谢 @MaycowMoura 我认为挽救你的生命可能有点戏剧性,但我很高兴代码的 sn-p 帮助了你我从这个站点获得了足够的帮助,并且很高兴帮助其他人作为回报跨度> 【参考方案2】: <?php
header("Access-Control-Allow-Origin: *");
【讨论】:
您能否为这个答案提供更多细节?以上是关于如何在连接到 API(在 Yii 中)的移动应用程序(cordova)上启用跨域资源共享的主要内容,如果未能解决你的问题,请参考以下文章
为啥在连接到 mailchimp API 3.0 时出现 401 错误