在发送到.load查询之前从链接获取多个属性

时间:2010-12-02 15:00:28

标签: jquery

下面的代码应该从link属性中获取?cs = bla& cat = bla值并将其发布到我的.load查询...有谁知道我哪里出错?

//Remove tab info and add gallery
    $(".more").click(function () {
        var $gallery = $(this).closest('.tab').find('.gallery-holder'),
        cat = $(this).attr('href').split('cat=')[1];
        if ($gallery.is(':empty')) {
        $gallery.load('/public/themes/lbd/js/imagegallery.php', {'cat': cat}, function(){
            $(this).fadeIn(function(){
                $('a.customGal').zoomimage(); 
            });
        });
        }

        $gallery.siblings().fadeOut(function(){
            $gallery.fadeIn();
        });     
        return false;
    });

1 个答案:

答案 0 :(得分:0)

如果您的方法出现问题,那么当您执行此操作时会发生错误:.split('cs='),结果是"bla",而您获得"bla&cat=bla",其他字符串。


如果数据是已知格式(原始查询字符串对),您可以将数据作为相同的字符串传递,如下所示:

var data = this.href.split('?').pop();
if ($gallery.is(':empty')) {
  $gallery.load('/public/themes/lbd/js/imagegallery.php', data, function() {
    $(this).fadeIn(function() {
        $('a.customGal').zoomimage(); 
    });
  });
}

请注意,这会生成一个GET请求而不是一个POST(然后.load()会发生一个对象作为data参数)。