次のポストコールがある場合:
$('#json_form').submit(function (event) {
event.preventDefault();
var url = $(this).attr('action');
var datos = {
"uno": "lalala",
"dos": "jojojo"
}
var data = JSON.stringify(datos);
$.post(url, data, function (resultado) {
$('#posted_values').html(resultado);
});
});
cshtml ファイルで json オブジェクトを受け取って処理するにはどうすればよいですか? Decode 呼び出しに入れたことを意味します。
if (IsPost)
{
var json_object = Json.Decode(Request???);
}
同じ問題を抱えている他の人を助けるために、@MikeBrindの回答を完成させるために編集されました。より複雑な json オブジェクトにデコードを使用する例。
$('#json_form').submit(function (event) {
event.preventDefault();
var url = $(this).attr('action');
var datos = {
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": 10021
},
"phoneNumber": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}
var data = JSON.stringify(datos);
$.post(url, {"person": data}, function (resultado) {
$('#posted_values').html(resultado);
});
});
受信および使用:
@{
dynamic json_object;
if (IsPost)
{
json_object = Json.Decode(Request["person"]);
@json_object.firstName<br/>
@json_object.lastName<br/>
@json_object.address.city<br/>
@json_object.address.postalCode<br/>
foreach (dynamic phone in json_object.phoneNumber)
{
@phone.type<br/>
@phone.number
}
}
}