【发布时间】: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