簡體   English   中英

如何將json字符串從Controller傳遞給ajax sucess事件

[英]how to pass json string from Controller to ajax sucess event

我想將“recentupgraded”字符串從控制器傳遞到ajax成功事件並檢查ajax sucess事件。 我的代碼是:

這是我的控制器:

[HttpPost]
[AuthorizeEnum(UserRole.Normal, UserRole.Power)]
public ActionResult BusinessUpdate(BusinessSetting business) {
    ActionResult _returns;
    if (viewModel.BusinessSettingUpdate(business)) viewModel.InitalizeBusiness();
    if (Session["recentlyUpgraded"] != null && (bool) Session["recentlyUpgraded"]) {
        _returns = Json("recentlyUpgraded",JsonRequestBehavior.AllowGet); 
    });
} else {
    _returns = PartialView("_Business", viewModel.Business);
}

return _returns;

現在我想在ajax成功事件代碼檢查它是:

function OnSuccess(formName) {
        $(formName).removeData("validator");
        $(formName).removeData("unobtrusiveValidation");
        $.validator.unobtrusive.parse(formName);
        alert(formName.innerHTML);//this code gives  undefined
 }




 function OnComplete(request, status) {
        $("#DetailandSetting").fadeTo('slow', 1);
     //  alert(JSON.stringify(request));
//        if (request.innerhtml = "recentlyUpgraded") {
//            window.location.href = '/NMPAccount/LogOff';
//        }
    } 

注意:這是ajax形式。

在你的形式:

$.ajax({
    url: '@Url.Action("TestAction", "TestController")',
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    type: 'POST',
    data: JSON.stringify(model)
})
    .success(function (data) {
        if (data == "USEREXISTS") {
            alert("User exist")
        } else {
            alert("User does not exist")
        }
    })
    .error(function (xhr, status) {
        alert("A java script error occured");
    });

在你的控制器中:

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult TestAction(TestViewModel testViewModel)
    {
        // For demonstaration only
        return Json("USEREXISTS", JsonRequestBehavior.AllowGet);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM