2012-01-04 68 views
1

我需要能夠通過ajax加載Drupal節點,我可以使用示例模塊中的「Ajax鏈接(可呈現陣列)」工作。示例模塊代碼會自動執行ajax調用和響應處理,但我希望/需要能夠手動執行它...我將如何去做這件事?如何手動創建Drupal.ajax調用?

我能夠使用jQuery進行ajax調用,並且我得到一個有效的json響應,因此服務器端正在工作。我可以使用此json響應並在Drupal的ajax.js庫中調用某些內容來處理響應,或者我可以使用ajax.js進行調用並因此自動處理響應?

謝謝!

回答

1

我做什麼,當我面臨着同樣的問題如下: 添加以下錨到我的網頁:

<a id="some-id" class="use-ajax" href="" style="display:none;" >you cannot see me</a> 

,自錨具有使用Ajax的屬性我知道這是加到Drupal.ajax數組。 接下來,在我的javascript代碼我手動預製這樣的Ajax調用:

jQuery.ajax({ 
       type: "POST", 
       dataType: 'json', 
       url: "THE_URL_TO_YOUR_MENU_CALL", 
       success: function (data, textStatus, jqXHR) { 
          Drupal.ajax['some-id'].success(data, textStatus); 
         } 
      }); 

,它爲我工作。 我認爲你缺少的是代碼中的Drupal.ajax['some-id'].success(data, textStatus);行代碼。 希望我已經解答了您的問題...