Shopify API跨域Ajax请求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shopify API跨域Ajax请求相关的知识,希望对你有一定的参考价值。
我使用以下代码从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。
答案
有了这个答案,我会为你省去一些麻烦。您无法从商店的前端呼叫/ admin,因为这会将您的访问令牌公开给公众。相反,如果您想从前端访问API,请使用App Proxy模式,允许您安全地进行Ajax调用以实现您的目标。
事实上,你几乎肯定会失败,任何你成功存在的成功都会很快让你的店铺暴露在恐怖之中。就像被悲伤的熊猫取代一样,或者被其他人搞砸。
另一答案
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'
});
});
以上是关于Shopify API跨域Ajax请求的主要内容,如果未能解决你的问题,请参考以下文章