JsonをAction Controllerに送信していますが、何らかの理由でJson文字列の最初と最後の要素がアクションコントローラで正しく受信されていないようです中括弧は、最後の要素の値として追加され、かつNULL可能フィールドであるか、それがint型である場合、その値は0 これは私のjQueryのコードであるとき、最初の要素は常にNULLであること:jQueryからMVCコントローラにjsonを送信する問題
$(function() {
$("#myButton").click(function() {
var student= JSON.stringify($("#myForm").serialize());
alert(student);
$.ajax({
type: 'post',
url: $("#myForm").data("url"),
data: JSON.stringify({ 'policy': student}),
success: //more code..
})
アラートを使用して$("#myForm").serialize()
の値を表示していますが、アラートが実行されたときに値が正しく設定されています。問題はアクションコントローラへの途中です。 first_field= null(is a nullable field in my Model)
そしてlast_field = "\\\"\"}"
.ITは3つのエスケープ文字が含まれて私は価値がある受信していることを想像して:アクションコントローラによって受信されたときにそのjson string
については
"first_field=7.5&aut_id=3456690&..........more info in here no
problem..........&birthday=&last_field="
が、これはそれが得るものです:これは警告メッセージが表示するものです= \""}
何が起こっていますか?真ん中にあるが正しく受信されている他のすべての値は、それがエッジ
でちょうど彼のものだこれは私のアクションコントローラである:
[HTTPPost]
public ActionResult EditStudent(Student student)
{
//some code...
}
ではなく、二回にする必要があるということ。 'data:$("#myForm ")。serialize())' –
@StephenMueckeこれは今、おかげさまで動作します。答えとして投稿したい場合は、それを行うことができます。私は答えとして選択します:) – AlexGH