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


Error: Syntax error, unrecognized expression: <a/> Jquery UI

我试图建立一个自动完成搜索。因此,我使用了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);
        }
    });
 
});

文件自动完成.php返回 json 编码的数据。

我的问题是,对于每个有效的响应和结果,我都会收到"错误:语法错误,无法识别的表达式:"错误,并且我的结果未显示在列表中。这个错误是什么意思?

多谢!

尝试使用

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

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

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

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

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

console.log(data);

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