CORS Restful Webservice被阻止

时间:2018-01-11 18:06:50

标签: java cors

好像这里有很多CORS的东西。一百万种处理方式。

将应用转换为Ionic。因为WKWebView

这似乎将代码作为ios上的本地主机运行。这意味着我需要处理CORS。

按照这个例子。 https://amodernstory.com/2014/12/27/using-cors-headers-with-java-example/

此时它的web.xml只有CorsFilter设置。 (默认)

我以为我将不得不在代码中做一些事情,但我添加的内容似乎没有任何区别。

发生了什么,我是否登录,并且我追踪到了,似乎工作正常。 然后代码提取用户个人资料信息。这是一个单独的Web服务调用。 那被阻止了。

polyfills.js:3 POST [webserviceURL]/user/getUser 403 (Forbidden)
(index):1 Failed to load [webserviceURL]/user/getUser: 
No 'Access-Control-Allow-Origin' header is present on the requested resource.
    Origin 'http://localhost:8100' is therefore not allowed access.
    The response had HTTP status code 403.

登录的第一个电话会通过。第二个呼叫永远不会到达Web服务器。

不确定原因。也许我需要告诉它记住原点?

2 个答案:

答案 0 :(得分:0)

尝试添加代理网址:

来自Handling CORS issues in Ionic

  

将ionic.project文件设置为:

{
  "name": "proxy-example",
  "app_id": "",
  "proxies": [
    {
      "path": "/api",
      "proxyUrl": "http://cors.api.com/api"
    }
  ]
}

答案 1 :(得分:0)

您必须在Web服务标头中添加以下内容: Access-Control-Allow-Origin:http://localhost:8100

此外,您可以使用ionic native http插件来解决cors问题。

我已成功地在我们的项目中使用它来解决角色问题。

以下是此插件的链接:https://ionicframework.com/docs/native/http/