[jquery][asp.net mvc]如何用ajax呼叫get method並傳遞json物件型態的參數
一、執行ajax並回傳partial view的情況:
javascript:
var params = { HitId: 'jerry', Idno: '666666' };
var myJSON = JSON.stringify(params);
var rootPath = '@Url.Content("~/")';
$.ajax({
url: rootPath + 'MyController/Edit?myjson=' + myJSON,
success: function (data) {
$('#modalWrapper').html(data);
$('#popModal').modal('show');
},
error: function (error) {
alert(error.responseText);
}
});
c#:
[HttpGet]
public ActionResult Edit(string myjson)
{
if (myjson == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
//回傳JSON格式的資料也是OK,因為ActionResult是通吃的interface類型
// return Json(new
// {
// success = false,
// Message = "交易序號不得為空!",
// JsonRequestBehavior.AllowGet
// });
}
JObject fileContentObj = JObject.Parse(myjson);
//轉成.net的 model物件比較方便使用
MyViewModel model = fileContentObj.ToObject<MyViewModel>();
EntryCheckEditViewModel verifyObj = new EntryCheckEditViewModel();
verifyObj.para1 = model.mydata1;
verifyObj.para2 = model.mydata2;
return PartialView(verifyObj);
//回傳JSON格式的資料也是OK,因為ActionResult是通吃的interface類型
// return Json(new
// {
// success = true,
// Message = "",
// JsonPara1 = verifyObj.para1,
// JsonPara2 = verifyObj.para2,
// JsonRequestBehavior.AllowGet
// });
}
參考資料:
自己