【发布时间】:2021-08-18 13:31:33
【问题描述】:
我已将 Magento 版本升级到 2.3.7。之后,我在结帐页面上遇到一个奇怪的问题,即当它调用 ajax 函数时,URL 生成错误。以前是这样的
/rest/default/V1/guest-carts/AC72N37Vmo3uGMIXEVQfIDt1ubuZLJws/estimate-shipping-methods
但现在升级 Magento 版本后
/checkout/undefinedrest/default/V1/guest-carts/AC72N37Vmo3uGMIXEVQfIDt1ubuZLJws/estimate-shipping-methods
不确定这个 undefined 是从哪里添加到 url 中的??
研究笔记:-
正确设置了安全和不安全的基本网址。我又检查了一遍
我还导航到生成此 ajax 调用的文件,该文件是 供应商/magento/module-checkout/view/frontend/web/js/model/shipping-rate-processor/new-address.js
这里的 storage.post 是从 ajax 调用生成的,它有 serviceurl & payload 作为参数。
在 getRates 函数中 - 如果我们 console.log "serviceUrl" 那么它会显示下面的 url
rest/default/V1/guest-carts/FsS4QvllSq1vpuxZuC8ycQa0VRMOcQCy/estimate-shipping-methods
这似乎是正确的,storage.post() 函数将此作为参数并调用 ajax 请求,然后进入 .fail() 函数
所以我认为问题在于 url 的前面部分被添加到其中以进行 ajax 调用 http://sitename.local/checkout/undefined ---> 在这里不知何故添加了未定义的内容,这破坏了整个 url
其他用户也遇到了同样的问题,但目前还没有解决方案。
https://magento.stackexchange.com/questions/256273/undefined-rest-api-checkout-cart https://community.magento.com/t5/Magento-2-x-Programming/Magento2-Wrong-base-url-on-ajax-call/td-p/435435
谁能帮我解决这个问题?
【问题讨论】:
-
你解决了这个问题吗?
-
@Carloscody 还没有:(
-
@nshah143 你找到解决方案了吗?
-
@mvistas 是的,我能够解决这个问题。