1

我有这个javascript代码可以从我的控制器调用一个返回布尔值的函数

<script type="text/javascript">
    $(function () {
        $(document).ready(function NumberAmt() {

           $.ajax({
                url: 'CallCenter/CallCenterAmt',
                type: 'Get',
                contentType: 'application/json;',
                success: function (data) {                       
                }         

            });

        })            
    });

我希望能够在页面加载的 javascript 中的函数中使用该布尔值来确定从我的视图中显示的内容。请帮忙谢谢

这是它正在调用的控制器函数

[HttpPost]
    public ActionResult CallCenterAmt()
    {
        bool threeNumbers=false;
        try
        {
            using (var entities = new OpenRoad.Data.Repository.OpenRoadEntities())
            {
                var CallCenterNumberAmt = (from c in entities.CallCenterNumberAmts
                                           where c.SiteId == OpenRoad.Web.Session.SiteId
                                           select c).FirstOrDefault();
                if (CallCenterNumberAmt == null)
                {                       
                        CallCenterNumberAmt = new Data.Repository.CallCenterNumberAmt();

                        CallCenterNumberAmt.SiteId = OpenRoad.Web.Session.SiteId;
                        CallCenterNumberAmt.ThreeNumbers = false;
                        entities.CallCenterNumberAmts.Add(CallCenterNumberAmt);
                        entities.SaveChanges();                        
                }
                else
                {
                    if (CallCenterNumberAmt.ThreeNumbers == true)
                    {
                        threeNumbers= true;
                    }
                    else
                        threeNumbers= false;
                }
            }
        }
        catch
        {

        }
        return Json(threeNumbers);
    }

}
4

2 回答 2

1

data应该包含该值。您需要确保您实际上返回 JSON,然后根据变量调用它

例如{YourVariable: true}

success: function(data) {
    if(data.YourVariable) {
    //true
    }
}
于 2013-05-07T16:18:41.273 回答
0

与其让 Controller 方法返回一个布尔值,不如让它返回一个包含布尔值的 JSON 对象。

IE{ isOkay : true }

然后在您的 Ajax 调用中,您可以检查以确保控制器返回了您认为它所做的事情,方法是使用data.hasOwnProperty("isOkay")然后使用值isOkay来确定您需要的其他任何内容。

于 2013-05-07T16:18:55.833 回答