Shopify API跨域Ajax请求

问题描述 投票:1回答:2

我使用以下代码从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。

api cors cross-domain shopify
2个回答
2
投票

有了这个答案,我会为你省去一些麻烦。您无法从商店的前端呼叫/ admin,因为这会将您的访问令牌公开给公众。相反,如果您想从前端访问API,请使用App Proxy模式,允许您安全地进行Ajax调用以实现您的目标。

事实上,你几乎肯定会失败,任何你成功存在的成功都会很快让你的店铺暴露在恐怖之中。就像被悲伤的熊猫取代一样,或者被其他人搞砸。


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'
    });
});
© www.soinside.com 2019 - 2024. All rights reserved.