我的應用程式在本地環境中運行順利。當服務器端發布的陣列大小增加時,會出現400的錯誤。(發布53行的陣列時我沒有任何問題。沒有發布566行的陣列)。Ajax 方面,Action 和錯誤如下。(我在本地環境中發布到同一個資料庫。)

$("body").on("click", "#btnSubmitTest", function () {
Swal.fire({
title: 'Test tamamlanacakt?r. Onayl?yor musunuz ?',
showCancelButton: true,
confirmButtonText: 'Evet',
cancelButtonText: `Hay?r`,
customClass: {
confirmButton: "btn btn-primary",
cancelButton: "btn btn-danger"
}
}).then((result) => {
if (result.isConfirmed) {
var qn = document.getElementById("hiddenQNo").value;
var Answers = new Array();
var SendedTestId = document.getElementById("hiddenSendedTestId").value
var isNull = 0;
var nullArray = new Array();
for (let i = 1; i <= qn; i ) {
var answerVal = table.$('#' i ":checked").serialize();
const myArray = answerVal.split("=");
if (myArray[1] == undefined) {
isNull = isNull 1;
nullArray.push(i);
}
var answerModel;
answerModel = ({
TestOrder: i,
Answer: myArray[1],
SendedTestId: SendedTestId
});
Answers.push(answerModel);
myArray.pop();
}
var Data = { 'TestAnswer': Answers }
if (isNull == 0) {
$.ajax({
url: '/StartTest/SubmitTest',
type: 'post',
data: Data,
dataType: 'json',
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
beforeSend: function (xhr) {
xhr.setRequestHeader("XSRF-TOKEN",
$('input:hidden[name="__RequestVerificationToken"]').val());
},
success: function (data) {
Swal.fire({
icon: 'success',
text: data.responseText,
showConfirmButton: false,
})
setTimeout(function () {
window.location.href = "StartTest/Completed"
}, 2000)
}
});
}
else {
Swal.fire({
icon: 'error',
text: 'Tüm sorular? cevaplaman?z gerekmektedir! ' nullArray ' ' 'bo? b?rak?lm??t?r.',
confirmButtonColor: '#3085d6'
})
}
}
})
});
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> SubmitTest(List<TestAnswer> testAnswer)
{
try
{
if (testAnswer != null)
{
var UrlModel = _context.UrlModels.Where(x => x.SendedTestId == testAnswer[0].SendedTestId).FirstOrDefault();
UrlModel.CompletedDate = DateTime.Now;
_context.UrlModels.Attach(UrlModel);
_context.SaveChanges();
_context.TestAnswers.AddRange(testAnswer);
_context.SaveChanges();
return Json(new { success = true, responseText = "Sonu?lar kaydedildi!", id=UrlModel.SendedTestId });
}
else
{
return Json(new { success = false, responseText = "Bir Hata Olu?tu." });
}
}
catch (Exception)
{
return Json(new { success = false, responseText = "Bir Hata Olu?tu." });
}
}
uj5u.com熱心網友回復:
嘗試增加您的請求的大小限制,將 webconfig 添加到您的專案并添加此代碼
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<security>
<requestFiltering>
<!-- This will handle requests up to 50MB -->
<requestLimits maxAllowedContentLength="52428800" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/498246.html
標籤:javascript 阿贾克斯 asp.net 核心
