Есть ли лучший способ сделать этот вызов AJAX - PullRequest
2 голосов
/ 11 сентября 2010
$('#request_song').autocomplete({
  serviceUrl: '<%= ajax_path("trackName") %>',
  minChars:1,
  width: 300,
  delimiter: /(,|;)\s*/,
  deferRequestBy: 0, //miliseconds
  params: { artists: 'Yes' },
onSelect: function(value, data){
       artist = $('#request_artist').val(); //this will return "The Killers"
   //make an ajax request to "/events/artist"


},

Я пытаюсь сделать ajax-запрос внутри функции onSelect, есть ли лучший способ, и если нет, то каков будет синтаксис для вызова "/ events / The killers" и как насчет замены строки в этом мне нужно,Есть ли чистый способ сделать это

1 Ответ

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

Как вы называете ajax через jQuery?Как показано ниже ...

onSelect: function(value, data){
       artist = $('#request_artist').val(); //this will return "The Killers"
  $.ajax({
    type: "POST",
    url: "/events/" + artist,
    data: "{}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
      alert(msg);
    }
});
}

Я бы предложил либо отформатировать сторону сервера переменных Artist, чтобы автозаполнение возвращало исполнителя в правильном формате, либо отформатировать его с помощью регулярного выражения, подобного этому ...

url: "/events/" + formatName(artist),

...

function formatName(artist) {
  return artist.replace(/[\W]/, "")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...