Я передавая данные формы, используя следующее назначение в Ajax после вызова:Как разрешить ошибку примитивной модели JSON?
data: {model: JSON.stringify(formData) },
model
Параметр используется, чтобы сообщить stringify метод для анализа данных формы, как и тот же тип модели связей с точки зрения.
Но когда я возвращаю значение bool JSON для метода ajax, я получаю ошибку JSON primitive model is invalid
, вызванную ошибкой внутреннего сервера 500. Я думаю, что это также вызывает мой success function
в коде ajax от стрельбы.
Вопрос: Как устранить неверную ошибку параметра JSON при возврате значения bool?
Аякса метод:
var formData = $("createForm").serialize();
$.ajax({
type: "POST",
url: '@Url.Action("Index", "CreateEscalation")',
data: {model: JSON.stringify(formData) },
cache: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (json) {
if (json.Success) {
window.location.href = json.redirectUrl;
}
else{
$('#submitStatus').text("Error occurred while processing your request, please try again or contact system administrators");
$(this).addClass('alert alert-danger fade in');
$('#submitStatus').show();
}
},
error: function (jqXHR, exception) {
}
});
Контроллер сообщение метод:
[HttpPost]
public ActionResult Index(Escalation escalation)
{
try
{
bool success = sqlConnection.InsertWebReq(escalation);
if (success)
{
return Json(new
{
redirectUrl = Url.Action("Index", "EscalationHistory"),
Success = true
});
}
else
{
return Json(new
{
Success = false
});
}
}
catch (Exception ex)
{
return Json(new
{
Success = false
});
}
}
Remove 'CONTENTTYPE: "приложения/JSON; кодировка = UTF-8",' и использовать 'данные: FormData,' и вы модель будет правильно привязана. –