【问题标题】:Get hold of json content that is being sent to Jquery获取发送到 Jquery 的 json 内容
【发布时间】:2018-01-24 14:20:37
【问题描述】:

当我发送一些在我的输入中指定的值时,这就是我到达的方式,因此它们需要发送到 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");

【问题讨论】:

  • JQuery 正在发送 json 编码数据,但您的控制器正在寻找 Form Url 编码数据。也许再试一次你的翻译,“猴子”不是正确的词。
  • 您告诉 ajax 您正在发送 json 但正在发送 uri 编码数据。需要决定你想要哪种方式
  • 对不起@Crowcoder 我的意思是 API。
  • 你是什么意思?? @charlietfl
  • 在 $.ajax 文档中了解 contentType

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


【解决方案1】:

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

data: JSON.stringify(token),

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多