我看到一些与我的问题类似的问题,但他们似乎没有答案。我正在使用使用Cordova / Phonegap的离子框架开发移动应用程序(或应用程序)。因此,它是一个混合应用程序,因为它将在设备上的浏览器内运行,例如Android设备。
我有一个Drupal站点,它有一个名为Services的模块,它为Drupal站点上的数据公开了一个API。在客户端,我试图调用该API并获取数据。我可以使用Chrome REST客户端从Drupal api获取数据。但是,当我运行命令“ionic serve”在某个端口的localhost上运行服务器时,我收到与跨浏览器问题相关的错误。哦,我在前端使用AngularJS,离子似乎更喜欢。 Ionic使用Cordova。该应用程序将打包为Java应用程序,但ionic / cordova在嵌入式浏览器中运行,带有HTML / JS / CSS。
NG Book on Angular讨论了CORS处理。我是否还必须配置Drupal以接受跨源请求?有一个CORS模块。在这种情况下,我可以访问客户端和服务器。使用Drupal的Services模块我配置了一个api。然而,仅凭这一点似乎还不够。该模块没有任何与CORS相关的设置。
是否可以使用客户端代码完全处理这一点,特别是Angular $ http服务或$ get服务?
或者有一个单独的Drupal CORS模块。配置该模块对我来说有点混乱。文档内容为
“为CORS启用的路径和相应域的列表。多个条目应用逗号分隔。按管道分隔每行输入一个值,按此顺序:”
内部路径
访问控制允许来源。用于回显Origin标头。
接入控制允许的方法
接入控制允许接头
接入控制允许证书
示例:
api | http://example.com:8080 http://example.com
API / * |,https://example.com
api / * || POST | Content-Type,Authorization | true
上述示例中没有一个包含“Access-Control-Allow-”字样,这让我有点困惑。也许我需要的只是 API / * | http://example.com
任何建议都会有所帮助。 谢谢, 布鲁斯