2011-06-23 26 views
1

我正在開發我的開發站點中的一個項目,它與我的生產站點具有完全相同的代碼。嘗試使用ajax驗證表單。相同的代碼,不同的行爲

這是一個簡單的使用ajax進行表單驗證。下面是dispuser.php代碼:

$username = protect($_POST['user_name']); 
$dispuser = new user(); 
$dispuser->username = $username; 
$res = $dispuser->get("all"); 
$num = mysql_num_rows($res); 

if ($num>0) 
{ 
    echo "no"; 
} 
else 
{ 
    echo "yes"; 
} 

這裏的javascript代碼:

$(document).ready(function() 
{ 
    $("#username").blur(function() 
    { 
     $("#msgbox").removeClass().addClass('messagebox').text('Verificando...').fadeIn("slow"); 
     $.post("./dispuser.php",{ user_name:$(this).val() } ,function(data) 
     { 
      if(data=='no') 
      { 
       document.getElementById("submitBT").disabled = true; 
       $("#msgbox").fadeTo(200,0.1,function() 
       { 
        $(this).html('Not available').addClass('messageboxerror').fadeTo(900,1); 
       });  
      } 
      else 
      { 
       $("#msgbox").fadeTo(200,0.1,function() 
       { 
        document.getElementById("submitBT").disabled = false; 
        $(this).html('Available!').addClass('messageboxok').fadeTo(900,1);   
       }); 
      } 
     }); 
    }); 
}); 

和這裏的html代碼:

<td><label for="username">Usuário: </label></td> 
<td><input type="text" name="username" id="username" /></td> 
<td><span id="msgbox" style="display:none; no-padding;"></span></td> 

我已經跟蹤與螢火蟲的反應,一切都好! (返回「是」時,用戶可以和「不」的時候不可用

我有相同的代碼:pp.atoanavida.com.br/registro.phpwww.pesometro.com.br/registro.php

可以對用戶「atoanavida」試試這不是可用的和兩者。數據庫是完全一樣的

我的問題:我的生產站點工作正常,顯示正確的消息,當用戶是/不可用在我的開發站點,它具有相同的代碼,腳本始終顯示「用戶可用「

+1

正在發生的事情是錯的? – locrizak

+0

對不起,我忘了告訴。在我的開發網站上,它總是說用戶名是可用的,即使它不是。我跟蹤了螢火蟲的反應,一切正常。當用戶不可用時,響應爲「否」,但腳本顯示頁面上的用戶可用。 – Musashi

+0

確保數據庫是相同的,然後返回的是相同的,我相信沒有人可以幫助你做到這一點。 – WilliamLou

回答

2

由於某些原因,返回的數據是」\ n否「 在NewLine中,然後是no。 你能解決這個PHP端或如果(數據==「無」)之前,簡單地修剪javascript中的數據...

像這樣:

data = data.replace(/^\s+|\s+$/g,""); 
+0

謝謝!我失去了幾個小時試圖弄清楚這一點,並永遠無法想象..你知道爲什麼它會回到/ n嗎? – Musashi

+2

你可以在<?之前有一個額外的linebreak。在你的php文件中打開標籤 – ingo

+0

再次感謝。我不知道這些內容可能會影響到這一點。 – Musashi

相關問題