2012-12-12 42 views
1

用戶點擊「支架」後,我的程序正在檢查我的二十一點遊戲中的贏家。 當我嘗試用AJAX呼叫贏家時,我想看看是否有贏家。如果是,則提醒贏家。否則,讓經銷商採取行動。任何幫助將不勝感激。檢查二十一點的優勝者

stand後的結果/輸出結果:User hand = dQ,hJ; val = 20 - 警報「贏得!在展臺」

預期結果在這隻手後: - 轉到ajaxDealer(user);

PHP代碼: ($ checkPlayerHandValue工作正常,也就是說,如果用戶有C5,HQ,將返回15)

function checkWinner($u, $d, $uValue) { 
    if($uValue > 21) 
     return $d; 
} 

if($checkPlayerHandValue > 0) { 
    $checkPlayerHandValue = checkPlayerHandValue($user); 
    $winner = checkWinner($user, $dealer , $checkPlayerHandValue); 
} 

$row = mysql_fetch_array($checkNextTurn); 
$playerTurn = $row['user']; 
echo($playerTurn."|"); 
echo($winner); 

JS代碼:

xmlhttpB.onreadystatechange=function() { 
      if (xmlhttpB.readyState==4 && xmlhttpB.status==200) { 
       elements = xmlhttpB.responseText.split("|"); 
       user = elements[0]; 
       winner = elements[1]; 
       //alert(winner); 
       if(winner != "") 
        ajaxDealer(user); 
       else 
        alert(winner + " wins! in stand");    

      } 
      clickButton = true; 
     } 
+0

你得到錯誤? – shapeshifter

+0

迄今爲止我都沒有遇到過這種情況。一切都結束了。當優勝者離開php文件時,它被設置爲「」,即沒有勝者 – gotguts

+0

那麼問題是什麼? AJAX請求是否返回需要的內容? – hellohellosharp

回答

2

請你幫個忙,並開始使用帶有AJAX模塊的jQuery庫。

就你的問題而言,你能告訴我們你的代碼當前的問題是什麼(應該發生什麼事情,反之亦然)。

另外,我覺得這個邏輯是不正確的:

if(winner != "") 
    ajaxDealer(user); 
else 
    alert(winner + " wins! in stand"); 

並應翻轉:

if(winner == "") 
    ajaxDealer(user); 
else 
    alert(winner + " wins! in stand");  
+0

至於你的第一個評論,這是一個類,我們真的最後一個項目沒有涉及jQuery。當我有時間時,我可能會繼續學習。至於你的第二條評論,我在上面陳述了正在發生的事情以及未發生的事情。在這個特定的例子中,沒有WINNER並且該函數應該自動調用dealerHit()函數。相反,它提醒了勝利者,但由於沒有贏家,警報中的語句顯示「贏得勝利!」 – gotguts

+0

好的,我現在看到您的Sample,但在代碼塊中看起來很難。你確定AJAX請求正在進行嗎?你有沒有指定一個網址?嘗試alert(xmlhttpB.responseText)以確保您獲得了某些內容。 – hellohellosharp

+0

抱歉有關混淆。有些東西肯定會回來。我嘗試了你的建議並找回'user'+ | +「」 – gotguts