【问题标题】:Cross origin issue跨域问题
【发布时间】:2017-08-29 04:08:51
【问题描述】:

我正在使用启用了 CORS 的开源 API(用于制作 Angular 应用程序)。我使用了 chrome 扩展 Allow-Control-Allow-Origin:* 但只能执行 GET 请求。在执行 POST、PUT 和 DELETE 时,api 调用是使用 OPTIONS 完成的,并且 404 错误即将到来。请帮忙。

【问题讨论】:

  • 您必须处理 OPTIONS。检查这个stackoverflow.com/questions/11926908/…
  • 可以在前端配置吗? @gauravbhavsar
  • "which has CORS enabled" as OPTIONS 请求失败,API 显然没有正确配置 CORS
  • 在后端处理 CORS 总是更好。
  • 同意@Jaromanda,API 未配置为处理 OPTIONS,必须在服务器端处理。

标签: javascript angularjs cors


【解决方案1】:

您能否尝试使用自定义标头访问您的 API,如下面的示例所示,

var sampleAPI= {
   method: 'POST',
   url: sample-api,
   data: youData,
   headers: {
      'Accept':'*/*',
      'Content-Type':'application/json'
   }
};

$http(sampleAPI).then(function (data) {
    //some success result
}, function(data){
    //some failure result
});

【讨论】:

  • 您可以尝试使用 Chrome 的 Advanced Rest Client 扩展访问您的 api 并检查响应吗?
  • 它可以在那里工作,因为我也在邮递员上测试了端点,但是一旦我通过本地主机上的浏览器发出请求,就会出现问题。
猜你喜欢
  • 2017-08-15
  • 2012-03-12
  • 2012-12-11
  • 2011-07-05
  • 2011-02-18
相关资源
最近更新 更多