Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调用要在自定义对话框回调函数中使用的ajax响应_Javascript_Php_Ajax - Fatal编程技术网

Javascript 调用要在自定义对话框回调函数中使用的ajax响应

Javascript 调用要在自定义对话框回调函数中使用的ajax响应,javascript,php,ajax,Javascript,Php,Ajax,AJAX w/bootbox自定义对话框 var checkRequApprove = function () { $.ajax({ url: '127.0.0.1/ProgVsProg/main/checkApproveReq', success:function(output){ if(output==false){ console.log(output); stopTime = setTim

AJAX w/bootbox自定义对话框

var checkRequApprove =  function ()
    { 
      $.ajax({
      url: '127.0.0.1/ProgVsProg/main/checkApproveReq',
      success:function(output){
        if(output==false){
         console.log(output);
         stopTime = setTimeout(checkRequApprove, 1000); 
            }
        else {
              bootbox.dialog({
              message: (output),
              title: "Request Accepted",
              buttons:
               {
                  success: {
                  label: "Approve",
                  className: "btn-success",
                  callback: function() {
                  var username = (output);
                       $.ajax({    
                          "type" : "POST",
                          "url" : "finalApprove",
                          "data" : {'username' : username},
                          success: function(data){
                            $('#example').html(data);
                          }
                     });
                  }
                  }, 
              }
              }); 
         stopCounter();
            }
    }
  });
}
    stopTime = setTimeout(checkRequApprove,1000);
控制器

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 $row->username;
      }
    }
    else
        echo false;
    }
}
public function finalApprove(){
    $username = $this->input->post('username');
    $userID = $this->session->userdata('userID');
    $id = $this->lawmodel->getUsernameID($username);
    $data= array(
            "challApprove" => "1",
        );
    $this->lawmodel->finalUpdateRequest($userID,$id,$data);

    echo "Accepting Please Wait!";
}
我有这个问题我不知道我做的是否正确。。 我希望
checkRequApprove
上的ajax响应将在自定义对话框成功按钮
callback:function()
中回调。我已将checkRequApprove上的响应放入成功按钮,该响应位于
var username
中的
output
,以便能够在
callback:function
中回调

根据我下面的代码,似乎
数据:{'username':username},
没有在
var username
中获取使success函数不返回任何输出的值


请帮助..我是ajax新手..:(

首先:成功函数收到的“输出”变量是整个jqXHR对象。 您正在搜索的是responseText-在您的例子中是
output.responseText

SECOND:在您的服务器文件上,您正在回显true。 因为这是一个HTML响应,所以它是一个字符串。所以您必须检查
if(输出=='FALSE')


顺便说一句:您的示例中还有一些错误。但我不会在这里深入讨论。
我建议更好地了解浏览器和工具,以检查xhr请求。像firebug或本机chrome devleoper工具栏,我不知道bootbox.dialog API,正如io所说,我不会在这里深入讨论。但我可以说,您使用的是“数据”而不是“输出”在最内部的成功对象中,将username设置为输出,而不是真正的响应。但无论如何,超时嵌套的ajax调用和可疑的代码片段似乎有点混乱。我甚至不知道是否执行过checkApproveReq和/或finalApprove。无论如何,我很幸运。我理解你的想法。但是使用json_编码也将起作用:)