2011-12-14 112 views
1

我有一個帶有一些過濾器的ajax視圖塊。我想用javascript從外部更新視圖的過濾器。用ajax發送參數到drupal視圖

如何在不刷新頁面的情況下將參數從塊外部發送到視圖?

+0

是否使用URL標記,如「http://domain.com/page.php?id=1&comment=2」,並要使用AJAX來更新這些變量?您是否使用jQuery,YUI或Dojo等任何JavaScript框架? – Brian 2011-12-14 22:43:45

回答

0

Views Hacks的自動提交子模塊可能證明在這裏超級有用。我用了很多。你可以隨時設置它,然後從外部觸發,即使只是通過JS引起點擊。

0

這裏是javascript我最終使用加載視圖塊與ajax並通過在頁面上創建的鏈接列表的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); 

});