客户更新请求通过 POSTMAN 工作,而不是通过 AJAX 使用 Shopify 私人应用
Customer update request is working via POSTMAN but not via AJAX using Shopify private app
我正在尝试使用其专用应用更新 Shopify 上的客户标签。我用邮递员试了一下,一切正常,但通过 AJAX,它让我成功回调而不是错误,但在成功中我得到了 auth link 而不是像邮递员那样的客户记录。
$.ajax({
type: "POST",
url: "https://secret:password@store-name.myshopify.com/admin/customers/1569902297146.json",
contentType: 'application/json',
data: JSON.stringify({
customer: {
id: "1569902297146",
email: "example@gmail.com",
tags: "loyalty-member"
}
}),
success: function(msg, b ,b) {
console.log(msg);
},
error: function(a, b, c) {
console.log(msg);
}
});
我在互联网上没有找到任何有用的 answer/info。
最后,在 AJAX 命中和试用后,我能够获得成功结果。
$.ajax({
type: "POST",
url: "https://secret:password@store-name.myshopify.com/admin/customers/1569902297146.json",
contentType: 'application/json',
crossDomain: true,
data: JSON.stringify({
customer: {
id: "1569902297146",
email: "example@gmail.com",
tags: "loyalty-member"
}
}),
success: function(msg, b ,b) {
console.log(msg);
},
error: function(a, b, c) {
console.log(msg);
}
});
真正的英雄是crossDomain。我不知道为什么 Shoify 不允许它的 PUT 和 POST 请求而不进行 crossDomain: true,
我认为你不需要使用 JSON.stringify
像对象一样发送数据
$.ajax({
type: "POST",
url: "https://secret:password@store-name.myshopify.com/admin/customers/1569902297146.json",
contentType: 'application/json',
data: {
customer: {
id: "1569902297146",
email: "example@gmail.com",
tags: "loyalty-member"
}
},
success: function(msg, b ,b) {
console.log(msg);
},
error: function(a, b, c) {
console.log(msg);
}
});
你做错了。如果你继续这样在前端暴露你的密码,你很快就会发现有人会用它把你所有的客户变成色情明星的名字,结果你将失去工作和信誉。相反,您使用私有应用程序中内置的应用程序代理来执行非 CORS、安全、可靠的回调,而无需涉及密码。
我正在尝试使用其专用应用更新 Shopify 上的客户标签。我用邮递员试了一下,一切正常,但通过 AJAX,它让我成功回调而不是错误,但在成功中我得到了 auth link 而不是像邮递员那样的客户记录。
$.ajax({
type: "POST",
url: "https://secret:password@store-name.myshopify.com/admin/customers/1569902297146.json",
contentType: 'application/json',
data: JSON.stringify({
customer: {
id: "1569902297146",
email: "example@gmail.com",
tags: "loyalty-member"
}
}),
success: function(msg, b ,b) {
console.log(msg);
},
error: function(a, b, c) {
console.log(msg);
}
});
我在互联网上没有找到任何有用的 answer/info。 最后,在 AJAX 命中和试用后,我能够获得成功结果。
$.ajax({
type: "POST",
url: "https://secret:password@store-name.myshopify.com/admin/customers/1569902297146.json",
contentType: 'application/json',
crossDomain: true,
data: JSON.stringify({
customer: {
id: "1569902297146",
email: "example@gmail.com",
tags: "loyalty-member"
}
}),
success: function(msg, b ,b) {
console.log(msg);
},
error: function(a, b, c) {
console.log(msg);
}
});
真正的英雄是crossDomain。我不知道为什么 Shoify 不允许它的 PUT 和 POST 请求而不进行 crossDomain: true,
我认为你不需要使用 JSON.stringify
像对象一样发送数据
$.ajax({
type: "POST",
url: "https://secret:password@store-name.myshopify.com/admin/customers/1569902297146.json",
contentType: 'application/json',
data: {
customer: {
id: "1569902297146",
email: "example@gmail.com",
tags: "loyalty-member"
}
},
success: function(msg, b ,b) {
console.log(msg);
},
error: function(a, b, c) {
console.log(msg);
}
});
你做错了。如果你继续这样在前端暴露你的密码,你很快就会发现有人会用它把你所有的客户变成色情明星的名字,结果你将失去工作和信誉。相反,您使用私有应用程序中内置的应用程序代理来执行非 CORS、安全、可靠的回调,而无需涉及密码。