添加WKWebView

时间:2017-12-26 10:33:18

标签: ios xml cordova ionic3 wkwebview

我已经在我的应用程序中添加了WKWebView,并且正如文档中建议的CORS API调用现在我需要通过HTTP调用来调用它。 我也添加了必要的标题。但我在错误块中得到200 ok和XML数据。我的代码如下:

    let headers = {
      'Access-Control-Allow-Origin': '*',
      'Content-Type': 'application/rss+xml; charset=UTF-8',
     'Access-Control-Allow-Headers': 'Content-Type, Accept , Origin, X-Requested-With',
     'Access-Control-Expose-Headers': 'X-Custom-header',
     'Access-Control-Allow-Methods': 'GET , POST , OPTIONS'
  };

    this.httpIonic.get('http://www.myserver.com/blog/feed/', {}, headers)
      .then(data => {

        console.log("--------------------------res:::::");
        console.log(data.status);
        console.log(data.data); // data received by server
        console.log(data.headers);
        console.log("--------------------------res:::::");

      })
      .catch(error => {

        console.log("--------------------------error:::::" + JSON.stringify(error));

        // console.log("--------------------------error:::::" + error);
        // console.log("--------------------------error:::::" + error.status);
        // console.log("--------------------------error:::::" + error.error); // error message as string
        console.log("--------------------------error:::::" + JSON.stringify(error.headers));
        // console.log("--------------------------error:::::" + error);

      });

问题是当我在iOS模拟器中运行应用程序时,我得到了错误响应并且还获得了xml值,理想情况下我应该得到响应但是如果我打印error.error它显示xml。

1 个答案:

答案 0 :(得分:-1)

首先,您还没有在API / Web服务文件中实现CORS标头,您所做的是您已经在js文件中编写了这些标头,但这是错误的。 您的CORS标头是正确的,但文件错误。

此外,

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

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

根据离子官方文件:

  

“如果不可能在中实施或配置CORS   服务器,有一个可以“代理”HTTP请求的本机插件   使用本机代码,因此可以完全绕过CORS“

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