JQuery автозаполнение с JSON не удается - PullRequest
1 голос
/ 10 сентября 2010

Я использую плагин автозаполнения Devbridge , и у меня все это установлено, вот мой код:

$(document).ready(function(){
    $('#request_task').autocomplete({
      serviceUrl: '<%= ajax_path %>',
      minChars:1,
      width: 300,
      delimiter: /(,|;)\s*/,
      deferRequestBy: 0, //miliseconds
      params: { artists: 'Yes' },
    });

});

Этот запрос попадает в действие мои рельсы и возвращает этот JSON. возвращается только один объект, но в большинстве случаев будет больше 1 ... это был всего лишь тестовый пример:

[
    {
        "user": {
            "salt": "somthing",
            "name": "john",
            "encrypted_password": "92dadsfa6b001ffe71c3c1d8e9fb76c42d1c8afeffa739de9063d94206c",
            "created_at": "2010-09-10T14:10:54Z",
            "updated_at": "2010-09-10T14:10:54Z",
            "admin": null,
            "id": 1,
            "remember_token": "c945522b3eb0a25e36bb39155fc05b3eec301ac5e2196956f2e6f86b4b22c987",
            "email": "test@gmail.com"
        }
    }
]

Я ясно вижу запрос в firebug, но я не получаю ничего за автозаполнение, и оно выдает ошибки ... Я что-то пропустил ... Моя ошибка

a.suggestions is undefined

Ответы [ 3 ]

4 голосов
/ 10 сентября 2010

Я думаю, вам нужно прочитать немного дальше вниз по странице разработчиков, поскольку ваш ответ имеет неправильный формат:

Веб-страница, которая предоставляет данные для Ajax Autocomplete, в нашем случае autocomplete.ashx будетполучить запрос GET со строкой запроса? query = Li, и он должен вернуть данные JSON в следующем формате:

{
 query:'Li',
 suggestions:['Liberia','Libyan Arab Jamahiriya','Liechtenstein','Lithuania'],
 data:['LR','LY','LI','LT']
}

Примечания:

запрос - исходное значение запроса
подсказки - разделенный запятыми массив данных рекомендуемых значений
(необязательно) - массив данных, который содержит значения для функции обратного вызова при выборе данных.

1 голос
/ 08 апреля 2012

Искренний совет, не создавайте строки JSON.Пожалуйста, перейдите на API.Если вы используете Java, проверьте это http://www.json.org/java/и убедитесь, что в ответе вы указали тип содержимого application/json

0 голосов
/ 10 сентября 2010

ВАШ JSON в неправильном формате

Проверьте их правильный формат

{
 query:'Li',
 suggestions:['Liberia','Libyan Arab Jamahiriya','Liechtenstein','Lithuania'],
 data:['LR','LY','LI','LT']
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...