我正在尝试使用JS创建订单。我已经验证了我的应用程序,并具有将POST发布到orders.json的功能。我看到的状态码为200,表示请求已提交(正确吗?),但订单本身从未创建。我在请求中听到了有关禁用cookie的信息,但是我不知道该怎么做,所以如果这是我需要做的,请告诉我。
我准备了我的整个功能,因为我对这整个事情都不熟悉,这似乎可能是我的请求的结构,而不是API调用。我在控制台中看到“错误”日志,因此很明显错误功能正在运行。
function submitShuffle(prodid)
{
console.log(prodid);
var params = {
"order": {
"line_items": [
{
"variant_id": prodid,
"quantity": 1
}
]
}
};
$.ajax({
type: 'POST',
url: 'https://<my-usrnam>:<my-pass>@toyboxshufflesandbox.myshopify.com/admin/orders.json',
dataType: 'application/json',
data: params,
success: function(data){
console.log(data);
},
error: function(data){
console.log("Error");
console.log(data);}
});
}
答案 0 :(得分:3)
您无法通过AJAX从Shopify Admin API检索信息。有一个限制,因为您必须公开用户名/密钥和密码,这不是一个好主意。
您必须使用某些服务/应用程序或仅创建自定义应用程序。
答案 1 :(得分:0)
购物时,Shopify返回一个对象。因此为200 OK状态。检查返回的对象。失败的创建POST对象将没有ID。因此,有第一条线索。其次,您会看到Shopify在返回的对象的Error键中告诉您问题出在哪里。如果您无法确定对Shopify消息的处理方式,请尽可能对GraphQL端点进行相同的调用,因为Shopify从这些端点返回的错误消息目前要好得多。他们正在将它们向后移植到较旧的REST API,但就目前而言,GraphQL更具表现力。