2010-09-11 3 views
2
$('#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 функции есть лучший путь, и если бы не то, что бы синтаксис для вызова «/ События/Убийца» и как насчет замены строки в том, что мне нужно. Есть ли чистый способ сделать этоЕсть ли лучший способ сделать это АЯКС вызова

ответ

2

Как вы называете 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» переменной на стороне сервера, так что автозаполнения возвращает художника в правильном формате, alertanively отформатировать его с помощью регулярного выражения, как это ...

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

...

function formatName(artist) { 
    return artist.replace(/[\W]/, "") 
} 
Смежные вопросы