我有以下在我的用户界面中执行的脚本。
元数据
是一个JSON对象,它从其他地方传递到函数中。
Dashboard.cshtml
<script>
function sendToken(metadata) {
$('#link-button').html('<i class="fas fa-circle-notch fa-spin"></i>');
$.ajax({
type: "POST",
url: "Dashboard?handler=Token",
headers: {
"XSRF-TOKEN": $('input:hidden[name="__RequestVerificationToken"]').val()
},
contentType: "application/json; charset=utf-8",
data: JSON.stringify(metadata),
success: function(response) {
$('#link-button').html('<i class="fas fa-success"></i> Account Connected Successfully');
},
failure: function(response) {
$('#link-button').html('<i class="fas fa-success"></i> Failed To Connect Account');
}
});
}
</script>
RazorPages 中的处理程序 (Dashboard.cshtml.cs):
public JsonResult OnPostToken() {
MemoryStream stream = new MemoryStream();
Request.Body.CopyTo(stream);
stream.Position = 0;
using(StreamReader reader = new StreamReader(stream)) {
string requestBody = reader.ReadToEnd();
if (requestBody.Length > 0) {
// Get Public Token
Console.WriteLine("Public Token: " + requestBody);
// Create Badges
}
}
return new JsonResult("");
}
错误:
这是怎么回事?为什么我无法将数据发送到我的处理程序进行处理?
最佳答案
看起来您正在传递 Json 数据,您需要将其反序列化:
var myObj = JsonConvert.DeserializeObject<youdatatype>(Request.Body)
您的数据类型是什么?
关于javascript - 通过 Ajax 将数据发送到 .NET 中的处理程序。 XML解析错误: no root element found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57334695/