在我的离子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数据上获得该产品。有人可以帮我吗?
答案 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软件包的版本号。
错误消失了,现在我有内容返回到我的请求中了。