jQuery,DB更新/显示问题

时间:2010-09-16 11:41:27

标签: jquery database ajax

我在php中实现了一个thumpsup函数。视图包含一个重击按钮,每次用户点击它时,数据库都会更新。我正在使用zend框架,所以我有一个 url mypage.de/articles/thumpsup/id/x 这个url指向我的文章控制器中的特定acion /函数,但是这个函数没有返回任何数据,它只是将重击添加到数据库。还有另一个功能列表将内容传递给视图。

所以我正在寻找一个jquery函数,在单击时执行查询 url mypage.de/articles/thumpsup/id/x ,然后执行list函数刷新视图。

$(document).ready(function() {
    $("a.tp").click(thumpsUp);
});

function thumpsUp() {
var url = window.location.hostname + '/articles/thumpsup/id/'
        + $(this).attr('id');
$.post(url, {
    "format" : "json"
}, function(data) {
    ....
}, 'html');
return false;
}

所以我通常用来执行url并更新视图的函数thumpsup在这里不起作用。任何想法如何解决?

2 个答案:

答案 0 :(得分:1)

如果你正在使用$(this),那么你需要将它传递给函数而你不能只运行一个函数,你需要一个匿名函数......所以试试这个:

$(document).ready(function() {
    $("a.tp").click(function(){ var myelement = $(this); thumpsUp(myelement); });
});

function thumpsUp(element) {
var url = window.location.hostname + '/articles/thumpsup/id/'
        + element.attr('id');
$.post(url, {
    "format" : "json"
}, function(data) {
    ....
}, 'html');
return false;
}

答案 1 :(得分:0)

如果我理解正确,“list”功能也是JavaScript。如果是这种情况,只需从AJAX请求的回调函数中调用它即可。

function(data) { $.post(url, { "format" : "json" }, function(data) { list(); }, 'html');

}