2013-04-11 73 views
0

您好我正在爲我的網頁的jquery ajax解決方案有一個getir.php 我用它的jQuery發佈數據(這是一個用戶名),如果名稱存在它回聲'真'或「假」如果聲明錯誤jquery

這裏是

if (isset($_POST['name'])) { 
if($synan->checkNameIsExist($_POST['name'])){ 
    echo'TRUE'; 
}else{ 
    echo'FALSE'; 
} 
} 

它工作正常,我看到控制檯真或假的結果,但我對jQuery的部分問題

$(document).ready(function() { 
    $("#user_name_reg").blur(function() { 
     txt = $(this).val(); 

     $.post("getir.php", { 
      name: txt, 
      method: "checkName" 
     }, function (result) { 

      console.log(result); 
      if (result == 'TRUE') { 
       $("span").html("answer true"); 
      } else { 
       $("span").html("answer false"); 
      } 
     }); 
    }); 
}); 

我couldnot使它工作的我f聲明。 感謝您的建議

+0

執行代碼時,實際上會發生什麼?你會得到一個JavaScript錯誤?你看到「回答錯誤」嗎? – 2013-04-11 01:04:45

+1

如果你'console.log(「'」+ result +「'」);'?你看到輸出中有空白嗎? – hek2mgl 2013-04-11 01:05:22

+0

什麼是您的日誌結果的價值? – 2013-04-11 01:05:31

回答

3

收盤?>標籤發出後沒有內容,從您的輸出:

console.log(typeof result, result.length, result); 

string 78 true,我們知道三兩件事:

  1. 我們正在處理一個字符串
  2. 有很多涉及的空白
  3. 有一些奇怪的情況轉換正在進行。

以下帳戶的解決方案,這些意見:

result = $.trim(result).toLowerCase(); 
if (result == 'true') { 
    $("span").html("answer true"); 
} else { 
    $("span").html("answer false"); 
} 
+0

yeahhhhhhhhhhhhhhhhhhhhhhhhhh它的工作原理謝謝你這個男人它殺了我1小時 – synan54 2013-04-11 01:23:07

+0

真棒,很高興它的工作! – jmar777 2013-04-11 01:24:51

+0

解決方案很好,但在返回之前處理您的PHP腳本以清理輸出將是一個好主意。也許會返回一個標準格式,比如JSON,然後從你的客戶端腳本中刪除清理代碼,它不屬於它(因爲你控制了後端)。 – 2013-04-11 17:31:08

1

如果PHP使用默認的內容類型:「text/plain的」和真的只返回是「真」或「假」 沒有周圍的例子任何前導空格或其他內容以上工作。調用console.log()時,應確保使用引號輸出。就像這樣:

console.log("'" . result . "'"); 

如果周圍有它的空格,請確保您有開幕<?php標籤之前或在PHP