如何在jquery chunk下执行函数

时间:2013-06-21 13:27:55

标签: jquery function

我必须在页面中多次使用jquery的$ .post函数。另外,我必须使用post方法返回的数据进行过滤。所以我把post功能放在这样:

$(document).ready(function(){
function loadData(url){
$.post(url,function(data){
var $data = data;
});
}

var raw = loadData(page01.php).filter("#someId").html();
$("#content").html(raw);

var raw = loadData(page02.php).filter("#anotherId").html();
$("#content2").html(raw);
});

但它不起作用。 任何帮助修改上述代码的工作将不胜感激。 此致

1 个答案:

答案 0 :(得分:1)

你不能在你的函数之后调用另一个方法就像在jquery loadData('page02.php').filter中你的函数需要返回jQuery对象才能工作,在你的情况下你的loadData函数不返回任何东西。但是你不能返回jQuery对象,因为它是一个匿名的调用。如果服务器返回的内容是html,那么要修改那个html你需要添加回调函数,因为这是在ajax调用之后应用某些东西的唯一方法。

您的代码应如下所示:

$(document).ready(function(){
    function loadData(url, callback) {
        $.post(url, function(data){
            callback($(data)); // not sure if jquery detect if the content is 
                               // html here, if yes then you can remove $( )
        });
    }

    loadData('page01.php', function(html) {
        var raw = html.filter("#someId").html();
        $("#content").html(raw);
    });

    loadData('page02.php', function(html) {
        var raw = html.filter("#anotherId").html();
        $("#content2").html(raw);
    });
});