Ajax:调用一个布尔值Action

时间:2014-07-22 14:26:09

标签: c# ajax boolean

我想从Action中获取一个布尔值,并根据相应AJAX函数中的返回值进行测试。

我在Action上设置了断点,但是我的提交在没有调用Action的情况下通过。

这是我的行动:

[HttpGet]
[AllowAnonymous]
public Boolean VerifyEmailExist(string email)
{
    if(db.UtilisateurSet.Where( p => p.Utilisateur_EmailPrinc == email).ToList().Count() != 0)
    {
        return false;
    }
    else
    {
        return true;
    }
}

这是我的AJAX方法:

function VerifyEmailExist(champ) {
    $.ajax({
        url: "/Utilisateur/VerifyEmailExist",
        type: 'Get',
        data: {
            email: champ,
        },
        success: function (response) {
            if (response) {
                champ.style.backgroundColor = "#fba";
                alert("Votre Email Existe dèja!");
                return false;
            } else {
                champ.style.backgroundColor = "";
                return true;
            }
        },
        error: function () {
            alert("something seems wrong");
        }
    });
}

1 个答案:

答案 0 :(得分:1)

您无法返回布尔结果,返回类型必须继承ActionResult。你可以返回JsonResult:

[HttpGet]
[AllowAnonymous]
public ActionResult VerifyEmailExist(string email)
{
    if(db.UtilisateurSet.Where( p => p.Utilisateur_EmailPrinc == email).ToList().Count() != 0)
    {
        return Json(new { status = false });
    }

    else
    {
        return Json(new { status = true });
    }
}

你的ajax成功事件:

success: function (response) {
    if (response.status) {
       champ.style.backgroundColor = "#fba";
       alert("Votre Email Existe dèja!");
       return false;
    } else {
       champ.style.backgroundColor = "";
       return true;
    }
 },