0

当我从我的云中访问 spartacus 店面时,我收到以下错误:- 在https://electronics.cmlp705ek-wiprolimi1-d1-public.model-t.cc.commerce.ondemand.com/rest访问 XMLHttpRequest /v2/electronics/cms/pages?fields=DEFAULT&pageType=ContentPage&pageLabelOrId=homepage&lang=en&curr=USD '来自原产地' https://jsapps.cmlp705ek-wiprolimi1-d1-public.model-t.cc.commerce.ondemand.com' 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。electronics.cmlp705ek-wiprolimi1-d1-public.model-t.cc.commerce.ondemand.com/rest/v2/electronics/cms/pages?fields=DEFAULT&pageType=ContentPage&pageLabelOrId=homepage&lang=en&curr=USD:1 加载资源失败:净::ERR_FAILED

在' https://electronics.cmlp705ek-wiprolimi1-d1-public.model-t.cc.commerce.ondemand.com/rest/v2/electronics/cms/pages?fields=DEFAULT&pageType=ContentPage&pageLabelOrId=/not-访问 XMLHttpRequest found&lang=en&curr=USD ' from origin ' https://jsapps.cmlp705ek-wiprolimi1-d1-public.model-t.cc.commerce.ondemand.com ' 已被 CORS 政策阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。获取https://electronics.cmlp705ek-wiprolimi1-d1-public.model-t.cc.commerce.ondemand.com/rest/v2/electronics/cms/pages?fields=DEFAULT&pageType=ContentPage&pageLabelOrId=/not-found&lang=en&curr=美元净额::ERR_FAILED

4

4 回答 4

0

我不知道店面,但我在 reactJS 的项目中遇到了同样的问题。我解决了它添加前缀 URL

const proxyurl = "https://cors-anywhere.herokuapp.com/"
cosnt url = 'Your URL'
axios.get(proxyurl + url)

您需要根据您的项目进行调整。我猜基本保持不变。

于 2020-03-30T09:58:24.303 回答
0

您很可能需要在 SAP Commerce Cloud 配置中调整 CORS 设置。请参阅https://sap.github.io/cloud-commerce-spartacus-storefront-docs/installing-sap-commerce-cloud/#configuring-cors

于 2020-03-30T10:16:13.950 回答
0

每当您看到 CORS 问题时,我总是建议首先在空白浏览器窗口中加载请求。此浏览器不需要 CORS,如果响应成功,您就知道需要修复 CORS。但是,通常这不是CORS 问题,这有助于您了解正在发生的事情。

当我在单独的浏览器中加载请求时,很明显我们手头还有另一个问题。响应显示 Web 应用程序响应(加速器),而不是 API 响应。似乎有所谓baseUrl的OCC配置错误。

这很可能发生在 ccv2 设置中。我假设它在您的 manifest.xml 中。您需要在检查设置时牢记以下几点:

  • Spartacus 需要baseUrl构建对 OCC 的所有请求。您可以在我们的文档中阅读此内容
  • baseUrl可以在 Spartacus 中静态配置,但您也可以使用元标记将其注入ccv2 occ-backend-base-url。我想这就是你所做的,这是推荐的。
  • CCv2 部署了各种所谓的aspects. 每个方面可以包含平台的一个或多个应用程序。您可以在清单中配置方面。
  • occ-backend-base-urlCCv2 将在元标记中注入您设置的 API 方面。

我的假设是 API 方面存在错误配置。它可能不可用,或者可能没有 OCC 应用程序。

于 2020-10-05T07:08:14.283 回答
-1

在此处输入图像描述

如果您遇到 2005 Commerce Cloud 版本的问题。请尝试将 app.module.ts 文件中的其余部分替换为occ 因为在 2005 版中,ycommercewebservices 扩展名被替换为 commercewebservices 扩展名,其中 webroot 为 /occ,而后者具有 webroot /rest。

于 2020-10-01T13:13:30.810 回答