当我发送输入中指定的某些值并因此需要发送到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");
答案 0 :(得分:0)
当你设置contentType: "application/json",
时,你需要自己将数据字符串化为json
data: JSON.stringify(token),