【发布时间】:2019-01-16 13:43:51
【问题描述】:
我有一家 shopify 商店,我在商店的页脚中创建了一个自定义表单,并希望使用从该表单添加的详细信息来创建新客户。我尝试使用下面给出的代码向端点“/admin/customers.json”发送发布请求
$(document).ready(function(){
$('.klaviyo_submit_button').on('click', function(){
$.ajax({
url: '/admin/customers.json',
dataType: 'json',
type: 'POST',
data:{
"customer": {
"first_name": "Steve",
"last_name": "Lastnameson",
"email": "steve.lastnameson@example.com",
"phone": "+15142546011",
"verified_email": true
}
},
success: function() {
alert('Customer is added');
}
});
})
})
但它没有发送 post 请求并显示状态代码“303 see other”。有人可以让我知道我在这里犯了什么错误以及如何从这个表格中添加客户。我在 shopify 的 theme.js.liquid 文件中使用此代码。
谢谢
【问题讨论】:
-
您是否有任何管理员凭据对您用来发出该请求的客户具有写入权限?
-
我在同一个 shopify 代码中执行此操作,所以我需要在哪里获得许可?
-
您正在访问
/admin端点 - 漂浮在 Internet 上的普通用户无权执行admin所做的任何事情!要使该呼叫正常工作,您需要一个具有适当权限的应用程序来代表用户进行呼叫。好吧,或者在您的代码中公开凭据,以使随机的互联网人员能够读取和写入 /customers。后者是一个相当大的安全漏洞需要打开 - 如果可以的话,要么使用原生表单,要么制作一个安全的应用程序来为你完成繁重的工作。