0
C#でAJAXリクエストによって送信されたJson形式のデータを使用するにはどうすればよいですか?AJAXとC#を使用してオブジェクトにJsonデータをマップする
はここでここで、コントローラのjQueryとAJAX
<script type="text/javascript">
$(function() {
$("#btnGet").click(function() {
var values =
{
"Name": "Manuel Andrade",
"DateOfBirth": "12/01/1995"
}
$.ajax({
type: "POST",
url: "/api/WebApi/GetAge",
data: values,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert("Hello: " + response.Name + ".\nCurrent Date and Time: " + response.DateTime);
},
failure: function (response) {
alert(response.responseText);
},
error: function (response) {
alert(response.responseText);
}
});
});
});
</script>
とビューの:
public class PersonController : ApiController
{
[System.Web.Http.Route("api/WebApi/GetAge")]
[System.Web.Http.HttpPost]
public Person GetAge(Person person)
{
//person = new Person();
//person.Name = "Luis";
JsonTest(person);
//int ageInMonths = calculateAgeInMonths(person);
//int ageInYears = calculateAgeInYears(person);
//System.Diagnostics.Debug.WriteLine(ageInMonths);
//System.Diagnostics.Debug.WriteLine(ageInYears);
return person;
}
}
人モデルビューでJSON変数とまったく同じ属性を持っています。自動的にオブジェクトを作成してはいけませんか?メソッドJsonTest()は正しく動作し、データのシリアル化に使用されます。人のインスタンス化とLuisへの割り当てをコメント解除すると、メソッドはそのデータを持つJsonをビューに返します。しかし、私がpersonパラメータを使用しようとすると、null例外がスローされます。ビューにvar値を渡してGetAgeメソッドに渡すことで、オブジェクトに割り当てることができますか?
どのフレームワークとどのバージョンがこれですか? –