2010-09-11 77 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" 


}, 

我试图让ONSELECT函数内部的Ajax请求有没有更好的办法,如果没有什么是语法调用“/事件/杀手”那我需要的字符串替换呢?有没有这样做的干净方式有没有更好的方式来做到这一点ajax调用

回答

2

如何通过jQuery调用ajax?像下面...

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); 
    } 
}); 
} 

我建议要么格式化“艺术家”变量服务器端,从而自动完成正确的格式返回艺术家,alertanively用正则表达式像这样格式化...

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

...

function formatName(artist) { 
    return artist.replace(/[\W]/, "") 
} 
相关问题