$('a.action').on('click',function(event){
event.preventDefault();
var classes = $(this).attr("class").split(/\s/);
var action = classes[classes.length -1];
var url = "/api/" + action + "/" + $(this).attr('href');
$.ajax({
type: "POST",
url: url,
}).done(function(data){
//function-name(data);
});
});
以上代码附加到点击事件上,链接如下:
<a class="action setsize" href="1">Go</a>
我已经设置了使用类名称通过ajax调用的URL,但是我也希望在调用 done()之后运行一个函数来更新我的html。我希望这个函数将samne名称作为ajax调用,因此需要从'action'var中取名。
我将如何实现这一目标?动态函数语法对我来说是新的。感谢。
答案 0 :(得分:1)
试试这个:
classes[index].callback = function(data){
// do something
}
...
var action = classes[classes.length -1];
var url = "/api/" + action + "/" + $(this).attr('href');
$.ajax({
type: "POST",
url: url,
}).done(function(data){
action.callback(data);
});
classes数组中的每个元素都有一个名为callback的方法,该方法在ajax完成后调用。