-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 に答える