我使用以下代码从shopify获取客户详细信息。我已将我的域名从shopify管理员重定向到其他域名。
function setEmailWithLoggedInUser(callback) {
$.ajax({
url: 'https://new-website-shopify.myshopify.com/admin/customers/'+__st.cid+'.json',
crossDomain: true,
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Basic XXXXXXXXXXXX")
}, success: function(data){
console.log(data);
if(callback)
callback();
}
})
我做了很多工作,但无法找到解决方案。 我收到了这个错误:
无法加载资源:服务器响应状态为404 (未找到)
XMLHttpRequest无法加载 https://new-website-shopify.myshopify.com/admin/customers/7094124372.json。 对预检请求的响应未通过访问控制检查:
请求时没有'Access-Control-Allow-Origin'标头 资源。原因'https://www.beirutshopping.com'因此不是 允许访问。响应的HTTP状态代码为404.
答案 0 :(得分:2)
我会用这个答案为你节省一些麻烦。您无法从商店的前端呼叫/ admin,因为这会将您的访问令牌公开给公众。相反,如果您想从前端访问API,请使用App Proxy模式,允许您安全地进行Ajax调用以实现您的目标。
实际上,你几乎肯定会失败,而你成功存在的任何成功都会很快让你的店铺暴露在恐怖之中。就像被悲伤的熊猫取代一样,或者被其他人搞砸。
答案 1 :(得分:0)
var cors = require('cors');
router.use(cors({
origin: '*'
}));
//var config = require('../config/config.json');
//testing /* GET home page. */
router.get('/', function (req, res, next) {
res.setHeader("Content-Type", "application/liquid");
res.setHeader("Access-Control-Allow-Origin", "*");
res.render('index', {
title: 'Store Locator'
});
});