#content
をAJAXで更新しようとしています。 Drupal.ajax関数を見つけて、このコードで使用しようとしました。Viewsモジュールからコピーされましたが、変更されました。
var base_element_settings = {
'event': 'click',
'progress': { 'type': 'throbber' }
};
jQuery('a').once('custom-ajax-processed').each(function () {
var element_settings = base_element_settings;
if (jQuery(this).attr('href')) {
element_settings.url = jQuery(this).attr('href');
}
var base = "content";// $(this).attr('id');
Drupal.ajax[base] = new Drupal.ajax(base, this, element_settings);
});
しかし、#content
を置き換えるのではなく、タイトルで応答の内容を警告しますAn AJAX HTTPエラーが発生しました。HTTP結果コード:2何が問題ですか?Drupal.ajax()で実現することは可能ですか?
drupal.ajaxを使用してそれを実現できることを知らないが、drupal 6のモジュールをjquery loadとDrupal.attachBehaviorsを使用して作成し、任意のページを任意のdivにロードできるようになりました。7にも移植されました。 :)これは モジュール です(現在レビュープロセス中)。
私はこのプレゼンテーションが答えを与えるかもしれないと信じています http://www.slideshare.net/merlinofchaos/drupal-7-advanced-ajax
あなたはおそらく次のようなことをすることができます:
$(document).ready(function(){
$('a#load-content').click(function (e) {
$('#content').load('/menu/callback/ajax/loader');
e.preventDefault();
});
});
次に、<a href="/nojs/path" id="load-content">Load</a>
のようなリンクをクリックすると、div#content
からのメニューコールバックのHTML結果が取得され、/menu/callback/ajax/loader
に入力されます。