将curl代码转换为ajax

时间:2015-02-17 05:54:03

标签: jquery ajax curl asp.net-ajax

我正在编写一些代码来更新存储在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: \需要编码为什么?

提前致谢。

1 个答案:

答案 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);
    }
});