带有Wordpress的IOS Ionic

问题描述

我正在使用ionic3以wordpress作为后端来构建电子商务应用程序。 我正在使用Woocommerce api获取产品,订单等。这是我的代码来配置它

import * as WC from "woocommerce-api";
Woocommerce = WC({
    url: this.url,consumerKey: this.consumerKey,consumerSecret: this.consumerSecret,wpAPI: true,queryStringAuth: true,version: "wc/v2"
  });
 let query = "products?" + "page=" + this.page;
    if (this.selected != "") query = "products?page=" + this.page;
    query = query + "&status=publish" + "&" + this.config.productsArguments;
    this.config.Woocommerce.getAsync(query).then((data) => {
        console.log(data)
    })

它可以在android上正常运行,但是在Ios上却出现此错误

https://testsite.com/wp-json/wc/v2/products?include=2047%2C1828%2C1768%2C1767%2C1766%2C1765%2C1763&status=publish&order=desc&orderby=date&lang=en&currency=EGP&consumer_key=ck_xxxxxxxxxxxxxxxx&consumer_secret=cs_xxxxxxxxxxxxxxz 无法加载资源:Access-Control-Allow-Origin不允许使用来源httpsionic:// localhost。

解决方法

这不是WordPress问题,而是CORS(跨源资源共享)问题。您可以在这里参考:https://www.joshmorony.com/dealing-with-cors-cross-origin-resource-sharing-in-ionic-applications/

根据摘要,您可以通过以下两种方式处理它:首先,在标头中的API主机(WordPress)Access-Control-Allow-Origin: *中禁用源检查。

第二,您可以通过本机代码代理请求。检查此插件https://ionicframework.com/docs/native/http/