错误:语法错误,无法识别的表达式:<a> Jquery UI</a>

时间:2014-11-16 12:22:39

标签: php jquery ajax user-interface autocomplete

我尝试构建自动完成搜索。因此我使用了jquery ui和这一小段代码:

$(function() {
 
    $("#search").autocomplete({
        source: function( request, response ) {
            $.ajax(
            {
                url: 'autocomplete.php',
                dataType: "json",
                data:
                {
                    term: request.term,
                },
                success: function (data)
                {
                    response(data);
                },
                error: function (err) {
                    console.log("AJAX error in request: " +   JSON.stringify(err, null, 2));
                }
            });
        },
        minLength: 2,
        select: function(event, ui) {
            var url = ui.item.id;
            if(url != '#') {
                location.href = '/blog/' + url;
            }
        },
        html: true,
        open: function(event, ui) {
            alert("open");
            $(".ui-autocomplete").css("z-index", 1000);
        }
    });
 
});

文件autocomplete.php返回json编码数据。

我的问题是,对于每个有效的响应和结果,我得到一个“错误:语法错误,无法识别的表达式:”错误,我的结果不会显示在列表中。这个错误意味着什么?

非常感谢!

2 个答案:

答案 0 :(得分:0)

您没有提供所有信息来确定问题,但您应该致电

console.log(data);

success函数的开头,查看控制台中的响应。您必须在生成请求响应的PHP中或在<a/>传递的函数中使用</a>而不是response的错误语法。

答案 1 :(得分:0)

尝试使用

$(document).ready(function () { 
   /*here comes your code*/
});

此外,在您的成功功能中,尝试将其更改为

success: function (data)
            {
                alert(data.d);
            },

因为您要返回 d ,而不是数据。 d表示数据对象的属性。