【发布时间】:2021-09-05 04:58:59
【问题描述】:
我已使用 Shopify-CLI 生成应用,并将应用代理配置为:
Prefix: tools
Subpath: sb
Proxy: https://xxx.ngrok.io/sb
在 theme.liquid 页面中,我尝试以以下方式访问它:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// Typical action to be performed when the document is ready:
var response = xhttp.responseText;
console.log("Sb ok"+ response);
}
};
xhttp.open("GET", "/tools/sb/sessions", true);
xhttp.send();
我可以在浏览器上点击https://xxx.ngrok.io/sb/sessions 并获得有效响应。
但是 AJAX 请求在我的测试商店中不断给我一个 404。我已经能够使用不同的测试应用程序成功配置应用程序代理,唯一的区别是这是一个公共应用程序,而前一个是自定义应用程序。我最初有一个冲突的配置,即两个应用程序的 /a/sb,但我尝试将其更改为 /a、/apps、/tools,有和没有子路径都没有运气。我什至删除了以前的应用程序以避免任何意外冲突。
提前致谢!
【问题讨论】:
-
您是否尝试过使用绝对 URL?
-
如在 /tools/sb/sessions 请求中使用商店名称?我可以看到 GET 请求使用了来自网络日志的正确路径。
-
根据 Shopify 文档prnt.sc/1ra574y,它应该可以工作,但在您的情况下 /sb 与子路径相同。我不确定它是否会造成问题或其他问题,但您需要尝试不同的子路径,例如 Shopify 示例?
-
会试一试。以前,我在代理和 Shopify 配置上使用了相同的子路径,它运行良好。所以不确定导致故障的公共应用程序有什么特别之处。我还测试了直接调用xxx.ngrok.io...,效果也很好。
-
这种改变也不走运。看起来 Shopify 根本没有使用此配置。
标签: shopify shopify-app