我正在开发一个不是由我开发的网络应用程序,我有以下与 AJAX 调用一起使用的自动完成代码:
$("#tags").autocomplete({
minLength: 2,
source: function (request, response) {
$.ajax({
url: "http://lainz.softwebsrl.it/ajax/autocompletecibo",
dataType: "json",
crossDomain: true,
type : 'post',
data:{
valore: request.term,
},
success: function (data) {
response(data);
console.log(data);
}
});
}
以及我的文件中的以下内容:
<div class="div1" style="float: left">
<strong>Cerca Prodotto</strong><br/><br/>
<form class="form">
<div>
<input type="text" id="tags" value="">
</div>
<div>
<img class="btnaggiungi" src="http://lainz.softwebsrl.it/img/carrello.jpg" alt="Aggiungi" id="add_newProduct"/>
</div>
</form>
</div>
问题是我不明白如何从 PHP 访问接收到的 JSON。 PHP 查询 MySQL 并最终执行此操作:
$ris2 = array();
foreach($ris as $single)
{
$value = $single["cibo"];
$category = $single["categoria"];
$id = $single["id"];
$ris2[] = array(
"value" => $value,
"id" => $id,
"category" => $category
);
}
$valuesJson = Zend_Json::encode($ris2);
echo $valuesJson;
$ris
中的位置包含使用 fetchAll()
的查询结果。当 AJAX 终止时,如何访问 value
、id
、category
?他们在哪里?
最佳答案
在回调函数中检查'data'值,成功。
success: function (data) {
response(data);
console.log(data);
}
如果数据值的类型是对象,
console.log(typeof data, data.id, data.value);
如果数据不是预期值,请检查 Chrome 开发网络选项卡的 XHR 响应数据。
关于php - 如何操作/访问从自动完成 ajax 收到的 json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35872013/