使用ajax将参数发送到drupal视图

时间:2011-12-14 20:30:09

标签: ajax drupal views

我有一个带有一些过滤器的ajax视图块。我想用javascript更新外部视图的过滤器。

如何在不刷新页面的情况下从块外部向视图发送参数?

2 个答案:

答案 0 :(得分:0)

来自Views Hacks的自动提交子模块可能在这里证明非常有用。我经常使用它。您可以随时进行设置,然后从外部触发,即使只是通过JS进行点击。

答案 1 :(得分:0)

这是我最终使用javascript加载带有ajax的视图块的javascript,并从我在页面上创建的链接列表的href值传递上下文过滤器。希望这有助于某人!

function getInfo(args) {

  $.ajax({
    url: Drupal.settings.basePath + 'views/ajax',
    type: 'post',
    data: {
      view_name: 'agent_lookup',
      view_display_id: 'agent_lookup_block', //your display id
      view_args: args,
    },
    dataType: 'json',
    success: function (response) {
        if (response[1] !== undefined) {
        var viewHtml = response[1].data;
        $('#ajax-target').html(viewHtml);
        //Drupal.attachBehaviors(); //check if you need this.
      }

    },
        error: function(data) {
         alert('An error occured!');
        }
  });
}



$('.ajax_button').once().click(function(e){
    e.preventDefault();
    var the_id = $(this).attr('href');
    noSlashes = the_id.replace(/\//g,'');
    getInfo(noSlashes);

});