2015-11-24 8 views
0

Я пытаюсь создать тегирование и использовать ajax, чтобы показать самые используемые теги, затем я использую плагин Select2 для обработки этого случая. Я получил stucked при вызове моего JSON данных здесь мой Javascript код до сих пор:Передача параметров url в Select2

$("#tags").select2({ 
    ajax: { 
     url: "api/v1/tags/", 
     dataType: "json", 
     cache: true, 
     quietMillis: 150, 
     allowClear: true, 
     data: function(params) { 
      return { 
       tags: params.term 
      } 
     }, 
     processResults: function (data) { 
      return { 
       results: $.map(data, function(obj) { 
        return { 
         id: obj.id, 
         text: obj.slug 
        }; 
       }) 
      }; 
     } 
    }, 
    tags: true, 
    placeholder: "Search or insert tags", 
    tokenSeparators: [',', ' '], 
}); 

Он возвращает эту ошибку:

GET http://lesson1.dev/api/v1/tags/?tags=mykeyword 404 (Not Found)

Я Спаси мою JSON данных в этом каталогах /api/v1/tags/a.../api/v1/tags/z

Мне просто интересно, как изменить параметры url ?tags=keyword в параметрах Select2 на /keyword, я ищу в документе поставщика, но ничего не получаю. Может кто-нибудь мне помочь? Мне нужен твой совет.

ответ

0

Проблема не в вашем скрипте, а в API, к которому вы пытаетесь получить доступ. Он возвращает 404, что означает, что вы либо предоставили неправильный URL, либо Ресурса просто нет.

Попробуйте сцепить ключевое слово значение непосредственно в URL строки следующим образом, вместо того, чтобы использовать ДАННЫЕ параметра:

$("#tags").select2({ 
    ajax: { 
    url: "api/v1/tags/" + keywordValue, 
    dataType: "json", 
    cache: true, 
    quietMillis: 150, 
    allowClear: true, 
    processResults: function (data) { 
     return { 
     results: $.map(data, function(obj) { 
      return { 
      id: obj.id, 
      text: obj.slug 
      }; 
     }) 
     }; 
    } 
    }, 
    tags: true, 
    placeholder: "Search or insert tags", 
    tokenSeparators: [',', ' '], 
    }); 
+0

Привет @Kamilius, спасибо за помощь. Да, я пробовал это раньше. Я использую метод keyup() jQuery для конкатенации ключевого слова и URL-адреса. Но ничего не показывают. – Alex

+0

@Alex Вы хотите автозаполнение или что-то еще? Потому что на самом деле я не вижу другой причины принимать входное значение с каждым нажатием клавиши. – Kamilius

+0

Ой, извините, да, сэр. Я хочу создать тег автозаполнения с помощью плагина Select2. Если вы не посередине, пожалуйста, взгляните на [Select2 Tags Example] (https://select2.github.io/examples.html#tags):) – Alex

Смежные вопросы