Php 未定义全局变量。来自Ajax调用的成功
因此,我试图在输入字段上实现Jquery“自动完成”。Php 未定义全局变量。来自Ajax调用的成功,php,jquery,ajax,Php,Jquery,Ajax,因此,我试图在输入字段上实现Jquery“自动完成”。 我喜欢用Ajax从mysql获取“标签”。 HTML <input type="text" id="autocomplete"> 为了验证php是否有空结果,我添加了echo'Hello' PHP while($row = $stmt->fetch()){ //Here i tried to use `json_encode` echo $row['objekt_nr']; } echo "Hello";
我喜欢用Ajax从mysql获取“标签”。
HTML
<input type="text" id="autocomplete">
为了验证php是否有空结果,我添加了echo'Hello'代码>
PHP
while($row = $stmt->fetch()){
//Here i tried to use `json_encode`
echo $row['objekt_nr'];
}
echo "Hello";
我的浏览器控制台告诉我来源:objNrs,
“未定义objNrs”
那么,我有什么问题?
变量不是全局变量吗?
Ajax异步运行,因此您的自动完成代码将在Ajax成功之前执行。因此,您需要在successs事件中编写自动完成代码
$.ajax({
url: 'file.php',
success: function (result) {
//Here i make the result global
objNrs = result;
$("#autocomplete").autocomplete({
source: objNrs,
});
}
});
var objNrs=结果代码>何时何地调用该ajax?@aldring27否,这将使变量成为Local.ok。很高兴知道。我试过这个。我可以在浏览器控制台中看到php的结果。但是我遇到了一个新错误--11%22Hello?term=2403(禁止)
这是什么?它是禁止的错误。检查文件是否需要任何身份验证accessing@Mjukis:获得新错误无关紧要:问题已成功回答,您应将其视为正确的问题,如果需要,创建新问题以解决新错误。
$.ajax({
url: 'file.php',
success: function (result) {
//Here i make the result global
objNrs = result;
$("#autocomplete").autocomplete({
source: objNrs,
});
}
});