jQuery是真是假

时间:2013-03-26 17:13:26

标签: javascript asp.net

<script type="text/javascript">
        function abc() {
            var name = $("#name").val();
            $.get("/Game/CheckName", { plName: name }, function (data) {
                alert(data); // here data = true
                    if (data == true) { // i tried so (if (data)) but it didn't work too
                        window.location.href = '@Url.Action("List", "Game")';
                    } else {
                        alert("Name is already use!");
                    }
            });            
        }

在此代码中(if (data == true))值始终为false。为什么?我怎么能改变它?

3 个答案:

答案 0 :(得分:3)

假设以下假设是正确的(这通常是导致此类问题的原因):

  

/Game/CheckName会返回一段文字,其中包含单词“true”或单词“false”

然后解决方案是:

比较字符串,而不是布尔值。

if (data === "true") {}

注意输出中的空格。它将停止匹配精确字符串的代码。您可以通过检查结果中出现的子字符串“true”来避免这种可能性:

if (data.indexOf('true') >= 0) {}

答案 1 :(得分:0)

比较字符串数据=='true'

答案 2 :(得分:-5)

if (data === true)

代替