Access-Control-Allow-Headers不允许请求标头字段User-Agent

时间:2019-01-14 15:09:44

标签: ionic-framework woocommerce woocommerce-rest-api

在我的离子ios应用程序中访问woocommerce api“ getAsync”时出现错误。它说: [错误]无法加载资源:Access-Control-Allow-Headers不允许请求标头字段User-Agent。 由于访问控制检查,提取API无法加载https:/ WEB_BASE / wp-json / wc / v2 / products / categories?parent = 0&consumer_key = MY_SONSUMER_KEY&consumer_secret = MY_CONSUMER_SECRET。

该代码在ios 10上的Android平台上运行良好。上面的错误发生在ios 11上。

this.wooCommerce.getAsync("products/categories?parent=0").then(
      data => {
        this.categories = JSON.parse(data.body);
      },
      err => {
        console.log(err);
      }
    );

由于这个错误,我无法在woocommerce数据上获得该产品。有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

我遇到了缺少用户代理的错误...正在将Firefox与Wordpress设置配合使用,并在本地主机上使用ssl以避免在ionic-config中使用代理。

我检查了Woocommerce API软件包的代码,并发送了一个用户代理。...

headers: {
  'User-Agent': 'WooCommerce API Client-Node.js/' + this.classVersion,
  'Accept': 'application/json'
}

我在wordpress .htaccess中添加了“用户代理”(不知道这是否是最好的方法,但现在可以使用)以阅读...

Header set Access-Control-Allow-Headers: "Origin, X-Requested-With, Content-Type, Accept, Authorization, user-agent"
RewriteCond %{HTTP_USER_AGENT} !^WooCommerce\ API\ Client-Node.js/1\.4\.2

1.4.2是npm软件包的版本号。

错误消失了,现在我有内容返回到我的请求中了。