私は、Ajaxのポストコールで次の代入を使用してフォームデータを渡しています:model
パラメータがビューに同じタイプのモデルの絆としてフォームデータを解析する文字列化の方法を指示するために使用され無効なJSONプリミティブモデルのエラーを解決するにはどうすればよいですか?
data: {model: JSON.stringify(formData) },
。
しかし、JSONブール値をajaxメソッドに返すと、内部サーバーエラー500からエラーJSON primitive model is invalid
が発生します。私はこれもまた、私のsuccess function
がajaxコードで発射されていないと思う。
質問: ブール値を返す際に無効なJSONパラメータエラーを解決する方法を教えてください。
AJAX方法:
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) {
}
});
コントローラPOSTメソッド:
[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
});
}
}
: "アプリケーション/ jsonの;のcharset = UTF-8"、'と 'データを使用:FORMDATAを、'とあなたモデルは正しく結合されます。 –