我试图使用我的洋红色的 Rest api 获取 HTTP GET 请求。
下面是实现相同目的的 angular2 代码!
public ngOnInit() {
let headers = new Headers({ 'Accept': 'application/json' });
headers.append('Authorization', 'Bearer x9a278mu7xoh4k0jkj08doc5j4b3ac22');
headers.append('Access-Control-Allow-Headers', 'Content-Type');
headers.append('Access-Control-Allow-Methods', 'GET');
headers.append('Access-Control-Allow-Origin', '*');
let options = new RequestOptions({ headers: headers });
return this.http.get('http://10.2.../Mage_ang2/index.php/rest/V1/customers/1',options)
.map(response => console.log(response.json))
.subscribe((items: Person[]) => {
console.log('items: ' + items);
this.people = items;
}, error => console.log(error));
}
我得到(我假设)一个 CORS 问题。
选项 http://10.2.../Mage_ang2/index.php/rest/V1/customers/1
XMLHttpRequest 无法加载 http://10.2.../Mage_ang2/index.php/rest/V1/customers/1。预检响应具有无效的 HTTP 状态代码 500
在谷歌解决方法后,我已经尝试了以下步骤来修复相同的问题,但没有成功。
1)在magento .htaccess文件中,添加了
标头集访问控制允许源“*”
2)在上面添加的角度2代码中,
headers.append('Access-Control-Allow-Headers', 'Content-Type');...
...
3) 尝试从应用程序/json 更改内容类型
let headers = new Headers({ 'Accept': 'application/json' });
我错过了什么。
需要适当的解决方案来解决 CORS(从洋红色 2 到 angular2)问题。
欢迎提出建议!
Header set Access-Control-Allow-Origin "*"
从安全角度来看,让全球跨源访问Magento(我知道这是一个购物平台)听起来是一个非常糟糕的主意。
headers.append('Access-Control-Allow-Headers', 'Content-Type'); ...
Access-Control-Allow-Headers
是一个响应标头。服务器必须将其发送到客户端,而不是相反。您的 JS 无法授予自己访问其他服务器的权限。
let headers = new Headers({ 'Accept': 'application/json' });
您是否有理由认为服务器由于您的默认设置而引发错误?
返回并查看错误消息:
预检响应具有无效的 HTTP 状态代码 500
然后做一些基础研究来了解什么是预检。
然后做一些基础研究,找出HTTP状态代码500的含义。
所以:
这意味着您需要查看服务器端代码(因此根本不是JS)并确定它为什么会抛出500错误。服务器的错误日志将是开始查找的好地方。
您需要让服务器按照 CORS 文档中的规则正确响应 OPTIONS 请求。
(或者,使用相同的说明,您可以尝试首先阻止浏览器发出预检请求,这可能就像删除所有尝试在不属于请求的请求上设置 CORS 响应标头一样简单)。
我正在尝试使用Ajax进行REST调用(POST)。这是我的AJAX代码 最初,我得到了这个错误:XMLHttpRequest无法加载http://localhost:port/service/myservice。对preflight请求的响应未通过访问控制检查:请求的资源上没有“access-control-allow-origin”标头。因此不允许访问源“null”。响应的HTTP状态代码为4
问题内容: 大家。我是Angular 2和Spring框架的新手。我正在尝试使用授权标头(基本auth)进行简单的get请求。 我正在使用Spring Boot(1.2.6.RELEASE),这也可能是相关的。我的CORS配置如下所示。 这是客户端的外观 我不断得到: XMLHttpRequest无法加载 http:// localhost:8080 / api / login?username
我知道这里已经有很多相同的解决问题, 但不幸的是,它们都没有帮助我:-( 这里是我的问题: 我尝试从本地主机连接到服务器上的REST服务。使用FF REST插件可以正常工作,但我的应用程序会导致以下错误: 选项 http://.../my_REST_Service/ 401 (未经授权) XMLHttpRequest 无法加载 http://.../my_REST_Service/。 印前检查的响
问题内容: 我正在使用ionic框架和angularjs,我使用chrome来查看日志,但是在这里,我正在执行一个登录页面,我试图发布用户输入的数据来提供服务,但是却出现了此类错误。 而且这是 阅读一些博客后的下一个错误,我认为这是一个CORS扩展,从该扩展允许我尝试过ajax请求,但是我无法找到为什么会出现这两个错误。这是我的代码 https://plnkr.co/edit/Dz0aFsLqoQ
我使用作为服务器端的Spring-boot并提供一个虚拟服务进行测试 其中我的serviceCaller.java=
所有人。我是Angular 2和Spring框架的新手。我正在尝试一个带有授权头(基本身份验证)的简单get请求。 我使用的是Spring Boot(1.2.6.Release),这也可能是相关的。我的CORS配置如下所示。 帮帮我,我不知道我错过了什么...我已经查了很多帖子,但都没找到。
我在angular 2中使用以下头对服务器进行API GET调用。我的angular 2代码如下: 我的spring boot CORS代码如下:
我知道有很多这样的问题,但我见过没有一个能解决我的问题。我已经使用了至少3个微框架。它们在执行一个简单的POST时都失败了,该POST应该返回数据: angularJS客户端: SlimPHP服务器: 我已经启用了CORS,并获得了工作请求。html使用服务器发送的JSON内容进行更新。然而我得到了一个 每次我试着用POST。为什么?