获取发送给Jquery的json内容

时间:2018-01-24 14:20:37

标签: javascript c# jquery json .net-core

当我发送输入中指定的某些值并因此需要发送到API时,我的触及方式。

当我尝试将它们发送给猴子时,我的猴子告诉我没有发送任何东西。

在我的console.log(token),它告诉我哪些数据可用,我也同意这一切都适合。但问题只是它必须转到我的API。

function PayStripe() {
// Open Checkout with further options:
handler.open({
    name: 'XXX ',
    description: 'XX abonnement',
    currency: "dkk",
    amount: $('#HiddenPrice').val() * 100,
    email: $('#Email').val()
});
};

// Close Checkout on page navigation:
$(window).on('popstate', function () {
    handler.close();
});

var handler = StripeCheckout.configure({
    key: 'pk_test_xxxx',
    locale: 'auto',
    token: function (token) {
        token.subscriptionId = $('#SubscriptionId').val();
        token.City = $('#City').val();
        token.Postnr = $('#Postnr').val();
        token.Mobil = $('#Mobil').val();
        token.Adresse = $('#Adresse').val();
        token.CVRVirksomhed = $('#CVRVirksomhed').val();
        console.log(token.subscriptionId);
        console.log(token);
        $.ajax({
            type: "POST",
            url: "/api/Stripe",
            contentType: "application/json",
            data: token,
            success: function (data) {
                //window.location.href = '/Subscriptions/Succes';
                alert(data + "Succes")
            },
            error: function (data) {
                console.log(data + "Error");
            },
            dataType: 'json'
        });
        // You can access the token ID with `token.id`.
        // Get the token ID to your server-side code for use.
    }
});

问题在于API无法从jquery获取有用的信息。所以它不会/将会收到它。

[HttpPost]
[Route("api/Stripe")]
[Produces("application/json")]
public async Task<IActionResult> Post([FromForm] JObject token)

当我抓住我需要的令牌时。那我在这里这样做:

var SubscriptionId = (int)token.GetValue("subscriptionId");

1 个答案:

答案 0 :(得分:0)

当你设置contentType: "application/json",时,你需要自己将数据字符串化为json

data: JSON.stringify(token),