如何手动进行Drupal.ajax调用?

时间:2012-01-04 14:15:57

标签: ajax drupal-7

我需要能够通过ajax加载Drupal节点,我能够使用" Ajax Link(可渲染数组)"来自Example模块。示例模块代码自动执行ajax调用和响应处理,但我希望/需要能够手动执行...我将如何执行此操作?

我能够使用jQuery进行ajax调用,并且我返回了一个有效的json响应,因此服务器端正在运行。我可以使用这个json响应并在Drupal的ajax.js库中调用某些东西来处理响应,还是可以使用ajax.js来进行调用,从而自动处理响应?

感谢!!!

1 个答案:

答案 0 :(得分:1)

我做了什么,当我面临同样的问题时如下: 我在页面中添加了以下锚点:

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

由于锚具有use-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);代码行。 希望我已经回答了你的问题...