AJAX功能AJAX的setTimeout不工作json_encode
var stopTime = 0;
var checkRequApprove = function()
{
$.ajax({
url: 'http://127.0.0.1/ProgVsProg/main/checkApproveReq',
success:function(output){
jsn=JSON.parse(output);
if(output==false){
stopTime = setTimeout(checkRequApprove, 3000);
}
else {
bootbox.dialog({
message: "Battle",
title: "Request Accepted",
buttons:
{
success: {
label: "Approve",
className: "btn-success",
callback: function() {
$.ajax({
"type" : "POST",
"url" : "finalBattleApprove",
"data" : {'username' : jsn.user_name},
success: function(data){
$('#example').html(data);
$('#loadingmessage').show();
}
});
}
},
}
}
});
}
stopTime = setTimeout(checkRequApprove,3000);
控制器
public function checkApproveReq(){
$id = $this->session->userdata('userID');
$requApprove = '1';
$check = $this->lawmodel->checkRequApprove($id,$requApprove);
foreach($check as $row){
if($row->requApprove == '1')
{
$reqID = $this->lawmodel->getID($row->requestedID);
foreach($reqID as $row){
echo json_encode(
array(
'user_name' =>$row->username,
)
);
}
}
else
echo false;
}
}
我有這樣的代碼,其中有一個實時檢查到數據庫,如果條件滿足。 。自定義對話框將彈出。 Im我的checkRequApprove
函數有這個問題.. bootbox.dialog
將不會顯示,如果在控制器中遇到的條件... 我相信我的問題是因爲在控制器中的哪個echo json_encode
。我找不到.IM還在阿賈克斯一個新手..
EDITED 自定義對話框我刷新頁面後,將只顯示任何解決方案。
成功回調是否被觸發? – epascarello
不能告訴,因爲bootbox.dialog不會顯示..當我試圖將控制器中的'json_encode'更改爲'echo $ id'時,對話框將顯示..但我無法在我的回調中繼續coz:將得到一個值從'json_encode'。 – Zurreal
你不知道?一個簡單的console.log()或斷點告訴你。向Ajax調用添加一個錯誤處理程序。 – epascarello