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

问题描述 投票:0回答:1

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

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

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

有了这个错误,我无法在我的woocommerce数据上获得该产品。谁可以帮我这个事?

ionic-framework woocommerce woocommerce-rest-api
1个回答
0
投票

我错过了用户代理的错误...我在本地主机上使用带有ssl的WordPP的Firefox,以避免在ionic-config中使用代理。

我检查了Woocommerce API包的代码,它发送了一个用户代理....

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

我添加到wordpress .htaccess“user-agent”(不确定这是否是最好的方法,但现在有效)阅读...

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包的版本号。

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

© www.soinside.com 2019 - 2024. All rights reserved.