我试图使用jquery post将我的模型发布到MVC Action。在MVC中,我执行以下操作将我的模型序列化为JSON:
MVC:
<div class="myModel" hidden="true">@Html.Raw(Json.Encode(Model))</div>
使用Javascript:
$(".confirm_yes").click(function (e) {
e.preventDefault();
// Get credit card session id
var sessionid = $(this).parent().find(".payu_creditcard_sessionid").text();
var myModel = $(".myModel").text();
$.post("/payuwalletlink/removecreditcard", { model: myModel }, function (data) {
//do whatever with the returned view.
});
});
控制器:
[HttpPost]
public ActionResult RemoveCreditCard(CreditCardModel model)
{
return View("PayUwallet");
}
但是我的浏览器出现以下错误:
无法加载资源:服务器响应状态为500(内部服务器错误)
答案 0 :(得分:2)
你似乎在做什么是没有意义的。为什么要将模型传递给视图然后将其完全不变地发布?但是,如果需要,这样做的方法是将模型转换为javascript对象并将其发回
var myModel = JSON.parse('@Html.Raw(Json.Encode(Model))');
$(".confirm_yes").click(function (e) {
e.preventDefault();
// Get credit card session id
var sessionid = $(this).parent().find(".payu_creditcard_sessionid").text();
$.post('@Url.Action("removecreditcard", "payuwalletlink")', myModel , function (data) {
....
});
});
不确定var sessionid = ..
的用途(您似乎无法使用它)。
我怀疑你试图删除post方法上的对象,在这种情况下,只需传回对象的ID
。