未定义全局变量。从Ajax调用成功

时间:2015-11-09 12:37:30

标签: php jquery ajax

所以我试图在输入字段上实现Jquery“Autocomplete” 我喜欢Ajax从mysql中获取“标签”。

HTML

<input type="text" id="autocomplete">
我尝试了几种东西并用Google搜索。我可以找到更大的代码,但这应该足够了!?

JS

//Get objNr from db
$.ajax({
    url: 'file.php',
    success: function(result){
        //Here i make the result global
        objNrs = result;
    }
});
$( "#autocomplete").autocomplete({
    source: objNrs,
});

如果php中有空结果,我添加了echo 'Hello';

PHP

while($row = $stmt->fetch()){
    //Here i tried to use `json_encode`
    echo $row['objekt_nr'];
}
echo "Hello";

我的浏览器控制台告诉我source: objNrs,
“objNrs未定义”

那么,我的问题是什么? 这个变量根本不是全局的吗?

1 个答案:

答案 0 :(得分:2)

Ajax以异步方式运行,因此您的自动完成代码将在ajax成功之前执行。所以你需要在successs事件中写自动完成代码。

board.rows[j].cells[i]