我一直试图弄清楚为什么在进行AJAX调用时总是收到未定义的响应。我做了整个回调函数,发出警报以查看它是否被调用并返回了值,但是当在我的代码中调用该函数时,我仍然得到返回的值在控制台中未定义。这可能很简单,但我认为我需要对此再加关注,以指出我忽略的内容。
这是JavaScript函数
function getInfo(x,callback){
$.ajax({
url: 'ajax-query.php',
type: 'post',
data: {'variable': x},
success: callback,
error : function(xhr,desc,err) {
console.log(xhr);
console.log("Details: " + desc + "\nError: " +err);
}
});
}
function getAjaxData(data)
{
alert(data);
return data;
}
ajax查询中的代码,先调用数据库,然后返回被操纵后的信息。
$code = "<option value='0.00'>Select Level</option>";
$row = array_slice($row_assoc,3);
foreach ($row as $key => $value)
{
if($value != 0.00)
{
$code.= "<option value='".$value."' data-level='".$key."'>".$key."</option>";
}
else
{
}
}
echo $code;
然后我按如下所示调用函数并将其发送到控制台,并在代码的前面定义输入。
var codex = getInfo(input,getAjaxData);
console.log(codex);
警报显示来自数据库的信息,但控制台仍将其声明为未定义,因此似乎未返回数据。我真的无法确定我在做什么错。