MVC 3 jQuery UI自动完成不显示结果

时间:2011-04-06 21:51:05

标签: json jquery-ui asp.net-mvc-3 jquery-autocomplete

我已多次搜索并找到符合我的代码结构完美的示例。然而,我没有从我的ajax中获得结果显示在输入框上。

我从POST获得的结果已经用firebug评估,一切看起来都很棒。

这是javascript即时使用。

<script type="text/javascript" language="javascript">
$(function () {

    $("input.FamousPerson-List").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "/FamousPeople/FPPAutoComplete",
                type: "POST",
                dataType: "json",
                data: {
                    searchText: request.term,
                    maxResults: 12
                },
                success: function (data) {
                    response($.map(data, function (item) {
                        return {
                            value: item.DisplayName
                        }
                    }))
                }
            });
        }
    });

});

以下是我在网络上使用的实际代码的链接。AutoCompleteTesting只需键入下面其中一个框中的任何字母即可调用它。

感谢。

1 个答案:

答案 0 :(得分:2)

如果仔细查看发送的请求,您会注意到正在添加回调参数。很奇怪,对吗?由于您正在进行本地AJAX帖子,而不是跨域(JSONP)帖子。

我注意到你的项目包含jQuery Validate。根据{{​​3}}处理类似问题的问题(执行JSONP请求而不是正常的JSON请求,即使你要求一个),这是jQuery验证中的一个已知问题。

根据其他答案判断,您可以更改您的jQuery版本,或者使用jQuery验证的修补版本(找到this answer)。