2012-12-12 83 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