javascript - jquery -ajax 不检查 Controller 中的 bool 值

标签 javascript jquery ajax asp.net-mvc-4

我有一个 Controller 操作,它将 bool 结果返回给 jquery。

  [HttpGet]
    public ActionResult IsVoucherValid(string voucherCode)
    {
        bool result = false;
        var voucher = new VoucherCode(voucherCode);
        if(voucher.Status==0)
        {
            result = true;
        }
        return Json(result);
    }

并使用ajax代码调用此 Controller

    $.ajax({
            url: '/Account/IsVoucherValid?voucherCode=' + code,
            type: 'Get',
            contentType: 'application/json;',
            success: function (data) {
                alert("success");
                if (data) {
                    //if result=true, want to work this
                    $("#person-data").css({ "display": "block" });
                }
            },
            error:alert("error")

        });

在ajax成功后,json结果为true,然后想要使用css。但这不起作用,请帮助我。

最佳答案

result 是仅存在于该操作方法中的变量名称。它不会包含在 JSON 中。

我非常确定您的 bool 值将存储在 data 中,因为您只发回一个值:

$.ajax({
     url: '/Account/IsVoucherValid?voucherCode=' + code,
     type: 'Get',
     contentType: 'application/json;',
     success: function (data) {
         if (data) {       //if result=true, want to work this                 
             $("#person-data").css({ "display": "block" });
         }
     }
});

如果有疑问,请执行 console.log(data) 查看其中包含的内容。在向我们提出问题之前,您至少应该进行最少的调试。

此外,正如@Stephen Muecke 在下面指出的那样,如果您使用 GET 检索此数据,则需要使用:

return Json(result, JsonRequestBehavior.AllowGet);

关于javascript - jquery -ajax 不检查 Controller 中的 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28892911/

相关文章:

javascript - 删除 anchor 标记并使用正则表达式以数组形式获取内部文本

javascript - 从 jQuery 内的动态变量加载数据

javascript - 将文件从 Javascript 上传到 Google Cloud Endpoint

php - $ajax 调用产生 'undefined' 结果

javascript - 基于HTML5数据元素的jQuery刷新div

javascript - React-Redux 最佳实践 - 从调度函数返回数据可以吗?

javascript - React.JS - 多个元素共享一个状态(如何仅修改其中一个元素而不影响其他元素?)

javascript - 从模态表单中获取值并使用 javaScript 将它们放入表行

javascript - 在 Google Maps API V3 中复制一个图标

ajax - 我可以使用 JS 从 Web 应用程序前端直接向 AWS SQS 发送请求吗?