-4
<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。为什么?我怎样才能改变它?

4

3 回答 3

3

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

/Game/CheckName返回一段文本,要么是单词“true”,要么是单词“false”

那么解决方案是:

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

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

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

if (data.indexOf('true') >= 0) {}
于 2013-03-26T17:16:07.983 回答
0

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

于 2013-03-26T17:14:50.863 回答
-5

尝试

if (data === true)

反而

于 2013-03-26T17:14:36.177 回答