MVC 3 jQuery UI автозаполнение не отображает результаты - PullRequest
1 голос
/ 07 апреля 2011

Я много раз искал и находил примеры, которые идеально соответствуют моей структуре кода. Пока я не получаю результаты из моего 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 Ответ

2 голосов
/ 07 апреля 2011

Если вы внимательно посмотрите на отправляемый запрос, вы заметите, что добавляется параметр обратного вызова. Странно, правда? Поскольку вы делаете локальную запись AJAX, а не междоменную (JSONP).

Я заметил, что ваш проект включает в себя jQuery Validate. Согласно этому ответу на вопрос, касающийся аналогичной проблемы (выполнение запроса JSONP вместо обычного запроса JSON, даже если вы его запрашивали), это известная проблема в jQuery validate.

Судя по другому ответу, вы можете изменить свою версию jQuery или использовать исправленную версию jQuery validate (найдено здесь ).

...