.net mvcとjqueryを使用してイベント管理用のWebアプリケーションを作成しています。 SeatPlansController
という名前のmvc web app.contollerを作成し、SeatPlanes
というモデルを作成し、データをデータベースに挿入することができました。 しかし、mvcコントローラを使用してjqueryからデータベースにデータを渡すことができません。コントローラIDを作成ポストでmvc .net web appのjquery(カスタムビューページ)からcontoller postアクションを呼び出す方法
// GET: SeatPlans/Create public ActionResult Create() { return View(); } // POST: SeatPlans/Create // To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see http://go.microsoft.com/fwlink/?LinkId=317598. [HttpPost] [ValidateAntiForgeryToken] public ActionResult Create(String seat_id, String seat_no) { int id = 10; SeatPlans S = new SeatPlans(); S.seat_id = seat_id; S.seat_no = seat_no; if (ModelState.IsValid) { db.SEATPLAN.Add(S); db.SaveChanges(); // return RedirectToAction("Index"); } return View(S); }
以下のように
私のコントローラのアクションコードは、主キーであるので、私は、引数としてseat_id
、seat_no
を通過したい、それがデータベースを更新する必要があります。
私は
ようhttp://localhost:52348/SeatPlans/Create
を使用してgetメソッドを作成しますが、どのように私は、引数 ブラウザから直接POSTメソッドを実行することができる何かを実行することができています次のJavaScript
function getPerson(id) {
$.ajax({
type: "GET",
url: '@Url.Action("create", "SeatPlanesController")',
contentType: "application/json; charset=utf-8",
data: {eat_id :6, seat_no:8},
dataType: "json",
success: function (result) {
alert(result);
//window.locationre = result.url;
}
});
}
を使用
http://localhost:52348/SeatPlans/Create/2/3t/e
私は以下のようにスクリプトを変更しました。 GETメソッドのために動作しますが、私はTYPE行った場合:「ポスト」それは、アラート と警告ボックスをポップアップは「localhost:52348は言う: 内部サーバーエラー」最後
$(document).ready(function() { $("button").click(function() { $.ajax({ type: "POST", contentType: "application/json; charset=utf-8", url: '@Url.Action("Create", "SeatPlans", new { Area = "" })', data: { seat_id: "34", seat_no: "98" }, dataType: "json", async: false, success: function (result) { $("#div1").html(result); }, error: function (abc) { alert(abc.statusText); }, }); }); });
あなたのjqueryコードを – Baahubali
に投稿しました。私はJavaScriptコードを –
に投稿しました。データに 'data:'オプションを使ってデータを渡す必要があります。 'データ{ID:1}'。しかし、あなたのajaxコールはPOSTではなく、GETです。あなたのGETメソッドにはパラメータがなくても、何をしようとしているのか、コントローラに渡したいのかは不明です。 –