php - 如何操作/访问从自动完成 ajax 收到的 json?

标签 php jquery mysql json ajax

我正在开发一个不是由我开发的网络应用程序,我有以下与 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 终止时,如何访问 valueidcategory?他们在哪里?

最佳答案

在回调函数中检查'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/

相关文章:

javascript - 如何将div的位置固定到包含背景图片的div的右下角

javascript - 使用 JQuery UI slider 更改 div 宽度

mysql - 所有 MySQL 列的 INSERT INTO...SELECT

php - mySQLi 查询未提供正确的信息

PHP/mysql,使用外键从另一个表中获取数据

javascript - 自定义元框 > 18+ 弹出确认窗口

php - 环境变量不会从 .htaccess 传递到 PHP

php - 动态添加的字段不在 $this->request->data 中

php - 来自两个不同表的 MySQL 循环

php - Flexigrid 中的多重删除