首页 > 解决方案 > 我的延迟结果未正确传递

问题描述

ajax 调用返回的数据似乎是空的。当我取消注释success: function(result)块时,结果正确输出到控制台,所以我知道数据存在。但是,当我调用request().done延迟值时,它显示为空。

function request(cat)
{    
    return $.ajax
    ({
     url: 'query.php',
     type: 'POST',
     data: {Category: cat},
     dataType: 'json'//, 
     //success: function(result) 
     //{  
     //  if(result) 
     //  {        
     //  console.log(result[0]); Result outputs to the console correctly
     //  }
     //}  
}); // end ajax call   
}

request().done(function(data) { console.log(data[0]); });  //array appears to be empty

标签: jqueryajaxdeferred

解决方案


your code
if(result) 
{        
  console.log(result.[0]);
}

应更换如下

if(result) 
{        
  console.log(result[0]);
}

推荐阅读