【问题标题】:How do I make a Drupal.ajax call manually?如何手动进行 Drupal.ajax 调用?
【发布时间】:2012-01-04 14:15:57
【问题描述】:

我需要能够通过 ajax 加载 Drupal 节点,我可以使用示例模块中的“Ajax Link (Renderable Array)”来开始工作。示例模块代码自动执行 ajax 调用和响应处理,但我希望/需要能够手动执行此操作...我将如何执行此操作?

我能够使用 jQuery 进行 ajax 调用,并且我得到了一个有效的 json 响应,因此服务器端正在工作。我可以使用这个 json 响应并调用 Drupal 的 ajax.js 库中的某些内容来处理响应,还是可以使用 ajax.js 进行调用并因此自动处理响应?

谢谢!!!

【问题讨论】:

    标签: ajax drupal-7


    【解决方案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); 代码行。 希望我已经回答了你的问题...

    【讨论】:

      猜你喜欢
      • 2016-12-01
      • 1970-01-01
      • 2020-02-12
      • 1970-01-01
      • 2011-01-17
      • 2015-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多