2012-01-04 37 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);行代码。 希望我已经解答了您的问题...