这是我的代码:
angular.module('option')
.factory('optionListService', ['$resource', function($resource) {
return $resource(HOST+'option/action/:id', {}, {
'get': {method:'GET'},
'save': {method:'POST'},
'query': {method:'GET', isArray:true},
'remove': {method:'DELETE'},
'delete': {method:'DELETE'}
});
}]);
这适用于GET请求而不是POST!
我将Apache用作服务器,并使用以下命令对其进行了配置:
<Limit GET HEAD POST PUT DELETE OPTIONS>
Order Allow,Deny
Allow from all
</Limit>
Header set Access-Control-Allow-Origin "*"
delete $httpProvider.defaults.headers.common['X-Requested-With'];
delete $httpProvider.defaults.headers.post['Content-type'];
但是请求POST仍然无法正常工作!
我希望有人能提出任何想法。
在服务器端添加这些标头:
Access-Control-Request-Headers: X-Requested-With, accept, content-type
Access-Control-Allow-Methods: GET, POST
如果仍然无法正常工作,请发布OPTIONS
浏览器正在发送的预检请求的详细信息。
为什么要这样做?
如果不是简单的请求(例如,表单数据的GET或POST),浏览器将向OPTIONS
服务器发送预检HTTP
请求,以检查是否允许CORS。该请求包含一些Access-Control-Request
标头(根据特定请求可能有所不同):
Access-Control-Request-Headers: accept, content-type
Access-Control-Request-Method: POST
现在,重要的是服务器Access-Control-Allow
在响应中引用相同的标头:
Access-Control-Allow-Headers: accept, content-type
Access-Control-Allow-Methods: POST
Access-Control-Allow-Origin: *
否则,该请求将被浏览器拒绝。
@ilyas:研究3小时后最终解决了这个问题
//Part added by ilyas :
if (isset($_SERVER['HTTP_ORIGIN'])) {
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400'); // cache for 1 day
}
//End of part.
希望这对其他人有帮助。
问题内容: 我正在编写一个简单的网站,该网站以一个成语作为输入,并从牛津词典返回其含义和示例。这是我的主意: 我向以下网址发送了请求: 例如,如果习惯用法是“不走远”,我将请求发送至: 然后将我重定向到以下页面: 在此页面上,我可以提取成语的含义和示例。这是我的测试代码。它将提醒响应URL: 问题是我有一个错误: 跨域请求被阻止:“同源起源”策略不允许读取http://www.oxfordlear
问题内容: 我正在网站上使用,最近我的用户在接收邮件时遇到了这个问题。在FireBug中检查后,我意识到脚本失败是由于CORS保护(由于以下错误)所致。 跨域请求被阻止:“同源起源”策略不允许读取http://x3.chatforyoursite.com/subscribe/上的远程资源 。可以通过将资源移到同一域或启用CORS来解决此问题。 现在,我想知道应该在哪里启用CORS,因为在我自己的服
有什么办法或者我下一步该怎么做吗? 多谢!
问题内容: 当人们开始订购过程时,在我的网站https://www.stubwire.com上,我正在从https://files.stubwire.com加载CSS文件。问题是CSS文件正在尝试加载给出错误的字体。有人可以帮我展示如何解决此问题吗?我已经看到有关使用Amazon S3的修复程序,但这是从我们自己的服务器加载的。 错误 跨域资源共享策略已阻止从源“ https://files.st
问题内容: 因此,我有了这个Go http处理程序,该处理程序将一些POST内容存储到数据存储中,并检索其他一些信息作为响应。在后端,我使用: 在我的firefox OS应用程序中,我使用: 传入的部分都一直如此。但是,我的回复被阻止了。给我以下信息: 我尝试了许多其他操作,但是无法从服务器获得响应。但是,当我将Go POST方法更改为GET并通过浏览器访问该页面时,我得到的数据太糟糕了。我无法真