嵌套的jQuery代码总是先返回“未定义”吗?

时间:2019-08-18 20:55:04

标签: php jquery ajax

我在父级.done中有一个嵌套的jquery ajax调用。 它可以工作,但是,无论undefined是否为空,在调用getProjectFiles(projectid)的开头始终总是返回data

js:

function getProjects() {
  //...some typical jquery code
  ajaxRequest.done(function(data) {
    //...append some stuff to html
    $('#mydiv').append('some html stuff' + getProjectFiles(projectid));
  }
}

function getProjectFiles(projectid) {
  var func = 'getProjectFiles';
      var args = [projectid];

      var formData = { 
        'action': func,
        'args': args
      };
  $.ajax({
        type: 'post',
        url: '../includes/ajax.php',
        data: formData,
        dataType: 'json'
      });
  ajaxRequest.done(function(data) {
    if(data) {
      $.each(data, function(i,v) {    
        $('div#'+projectid+'.project-box-files').append(v['filename']);
      })  
    }
  });
}

php:

//these are in a separate functions.php file
function pdoSelect($sql, $args) {
    $pdo = dbConnect();
    $stmt = $pdo->prepare($sql);
    $stmt->execute($args);
    $returnval = $stmt->fetchAll(PDO::FETCH_ASSOC);
    echo json_encode($returnval);
}

function getProjectFiles($someParameters){
    //db insert
    $sql = 'SELECT blah blah';
    $args = array($someArgs);
    return pdoSelect($sql, $args);
}

//this one is in ajax.php
$func = $_POST['action'];
$args = $_POST['args'];
call_user_func_array($func, $args);

在{em> getProjectFiles()之前,projectid是否被“异步调用”?还是我需要某种“回调”格式来在getProjectFiles中调用getProjects

0 个答案:

没有答案