Json オブジェクトをパラメーターとして送信するアクションに Ajax リクエストを作成しようとしています。
Jqueryのコードは次のとおりです。
var jsonObject = {
"Id": 33,
"Name": "TEST"
};
$.ajax({
type: "GET",
url: rootPath + "ScheduledEvents/Edit/",
data: JSON.stringify(jsonObject),
/*contentType: "application/json; charset=utf-8",*/
dataType: "json",
success: function (data) {
$("#defaultModalRightEventContent").html(data);
$("#defaultModalRightEvent").modal("show");
},
error: function (request, status, error) {
alert(request.responseText);
}
});
サーバー側のクラスは次のとおりです。
public class TestingClass
{
public int Id { get; set; }
public string Name { get; set; }
}
コントローラのアクションは次のとおりです。
[HttpGet]
public ActionResult Edit(TestingClass testingClass)
{
return PartialView("_ScheduledEvent", new ScheduledEventVM());
}
何が起こっているかというと、アクションを実行したときにオブジェクトが null でなくても、Id と Name の両方が空です。
メソッドを GET から POST に変更すると、オブジェクトはアクションに正しく到達しますが、RequiredValidationToken エラーが発生します。そして、使用するトークンを含むフォームを実際に持っていないので、本当に選択肢がありません。
GET を使用する方法はありますか、または本当に POST を使用する必要がありますか。
よろしくお願いします。