<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。为什么?我怎么能改变它?
答案 0 :(得分:3)
假设以下假设是正确的(这通常是导致此类问题的原因):
/Game/CheckName
会返回一段文字,其中包含单词“true”或单词“false”
然后解决方案是:
比较字符串,而不是布尔值。
if (data === "true") {}
注意输出中的空格。它将停止匹配精确字符串的代码。您可以通过检查结果中出现的子字符串“true”来避免这种可能性:
if (data.indexOf('true') >= 0) {}
答案 1 :(得分:0)
比较字符串数据=='true'
答案 2 :(得分:-5)
试
if (data === true)
代替