我正在编写一些代码来更新存储在MVC 5视图中Stripe上的信用卡的信用卡详细信息。
这是api参考:
https://stripe.com/docs/api/curl#update_card
引用是使用curl。我是否正确地说我可以对curl url进行ajax调用,它将获得与使用curl相同的结果?
我可以帮助将curl代码转换为ajax调用吗?
以下是卷曲代码:
POST https://api.stripe.com/v1/customers/{CUSTOMER_ID}/cards/{CARD_ID}
curl https://api.stripe.com/v1/customers/cus_5iRk16Lkf8knHW/cards/card_15X158B0kSXRxQJDzHdigbYq \
-u sk_test_Z8pMCKSd34P8XLzrcbumkGZo: \
-d name="Jane Austen"
这是我到目前为止所做的:
function testAjaxFunction()
{
$.ajax({
type: "POST",
async: true,
url: 'https://api.stripe.com/v1/customers/cus_5iSot8lwZQS8ra/cards/card_15X1t6B0kSXRxQJDKmdGdLTC',
data: {
'name': "Jane Austen"
},
dataType: "json",
error: function (data) {
alert("error");
alert(data);
},
success: function (data) {
alert("success");
}
});
}
上面的代码会返回错误。
对于ajax请求,-u sk_test_Z8pMCKSd34P8XLzrcbumkGZo: \
需要编码为什么?
提前致谢。
答案 0 :(得分:0)
单独使用AJAX调用无效。将alert("error");
替换为alert(data.statusText);
,您会看到它已被跨域策略阻止。如果你通过curl从服务器上运行它,你可以为自己创建一个API来进行AJAX调用。 API将是您的curl调用的Web界面,您可以将AJAX调用POST到它。你的AJAX调用看起来更像是:
$.ajax({
type: "POST",
async: true,
url: '/api/stripe/',
data: {
'name': "Jane Austen",
'customer_id': "cus_5iSot8lwZQS8ra",
'card_id': "card_15X1t6B0kSXRxQJDKmdGdLTC"
},
dataType: "json",
error: function (data) {
console.log(data);
},
success: function (data) {
console.log(data);
}
});