[英]HowTo configure Cross Origin Resource Sharing (CORS) with Joomla as server?
我正在编写一个嵌入在Joomla上运行的网站内的Web应用程序。 在客户端,我正在使用AngularJS。 Angular的$resource
对象遵循跨源资源共享的模式-即它在发出任何GET
请求之前先发出一个OPTIONS
请求。
在Joomla中,我的一个控制器中有一个task
,该task
接收客户端的请求,在Joomla中执行一些身份验证逻辑,然后使用数据进行响应。 如果我提出一个简单的GET
请求,则此响应会适当。 但是,当Joomla收到OPTIONS
请求时,我无法弄清楚如何使其给出适当的“确定”响应。
是否有特定于Joomla的方法来实现这一目标? 如果没有,如何使用纯PHP对OPTIONS
做出响应? 我的搜索空白。
(如果有什么不同,最终将是一个同源请求。这只是我们开发过程中的跨源请求。但是,我相信Angular会提出OPTIONS
请求。)
这是如何使CORS工作的一个示例:
假设您在此页面上origin.com/test.php,并且此页面上的JavaScript向target.com发出请求。
要启动跨域请求,浏览器会发送带有Origin HTTP标头的请求。 此标头的值是为页面提供服务的域(origin.com)。 因此,在这种情况下将是:
来源: http : //origin.com
如果target.com支持CORS,则需要在响应中使用Access-Control-Allow-Origin HTTP标头进行回复。 标头的值指示允许哪些原始站点。
Access-Control-Allow-Origin: http : //origin.com
要允许来自所有域的访问,target.com需要发送HTTP标头:
访问控制允许来源:*
有关更多信息: http : //en.wikipedia.org/wiki/Cross-origin_resource_sharing
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.