我正在开发一个不是由我开发的Web应用程序,我有以下自动完成代码,可以与AJAXcall一起使用:
$("#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()
包含value
查询结果的位置。当AJAX终止时,如何访问id
,category
,{{1}}?他们在哪儿?
答案 0 :(得分:1)
检查回调函数中的'data'值,成功。
success: function (data) {
response(data);
console.log(data);
}
如果数据类型的值是对象,
console.log(typeof data, data.id, data.value);
如果数据不是预期值,请检查Chrome开发网络标签的XHR响应数据。