我对ajax中的代码有疑问。
AJAX
<script type="text/javascript">
var stopTime =0;
var scoreCheck = function ()
{
$.ajax({
url: 'http://127.0.0.1/ProgVsProg/main/checkScoreRoundOne',
success:function(output){
if(output !=' '){
$('#maincontent1').html(output);
bootbox.alert("We have a winner", function(){
});
stopTime = setTimeout(scoreCheck, 1000);
}
else {
clearTimeout(stopTime);
}
}
});
}
stopTime = setTimeout(scoreCheck,1000);
</script>
CONTROLLER
public function checkScoreRoundOne(){
$id = $this->session->userdata('userID');
$battleID = $this->lawmodel->getBattle($id);
foreach($battleID as $row){
$Rscore = $row->requestedScore;
$Cscore = $row->challengerScore;
if($Cscore == '1'){
$rID = $this->lawmodel->getID($row->challengerID);
foreach($rID as $row){
echo $row->username."Got the correct answer";
}
}
else if($Rscore == '1'){
$cID =$this->lawmodel->getID($row->requestedID);
foreach($cID as $row){
echo $row->username."Got the correct answer";
}
}
else
echo "Answer the question";
}
}
我的问题是,即使它不符合控制器中的条件,ajax也会始终发出警报。 我不能测试我的项目是否正确..我正在使用codeigniter ..
我是新的ajax plss帮助...... :( 的被修改
如果警报弹出符合我控制器中的条件,我该怎么办? :( 就像当Cscore =='1'时会弹出警告..
答案 0 :(得分:0)
如果我的问题正确,那么这一行
if(output !=' '){
您的请求中的应该是
if(output != "Answer the question"){
为什么?
如果您未遇到$Cscore == '1'
或$Rscore == '1'
,则会返回字符串"Answer the question"
。并且知道您返回的内容将是output
变量的内容,它永远不会只是一个空格' '
!
答案 1 :(得分:0)
将foreach代码移动到模型中,而不是使用return而不是echo。
说: 型号:
public function getID($row->challengerID){
//some code
if($Cscore || $Rscore){
foreach($cID as $row){
return $row->username."Got the correct answer";
}
}else{
return false;
}