0

このPageguide.js のフォークを使用して、Web アプリのさまざまなページの使用に関するガイダンスを提示しています。これはかなりうまく機能しますが、現時点では、ガイドのすべてのコンテンツはスクリプトで静的に設定されています。

var guide = {
  id: 'jQuery.PageGuide',
  title: 'What can I do here?',
  steps: [
    {
      target: '#user-tools',
      content: 'Some static content here'
    }
  ]
}

$(function() {
  // Load the default guide!
  $.pageguide(guide);
});

サーバーへの呼び出しを使用してコンテンツを動的に取得したいので、コードを次のように変更して呼び出し$ajaxを追加しました。$ajax

var guide = {
  id: 'jQuery.PageGuide',
  title: 'What can I do here?',
  steps: [
    {
      target: '#user-tools',
      content: function() {
        $.ajax({
          type: 'GET',
          url: 'user-guide',
          data: {elementId: '#user-tools'},
          success: function(html) {
            return html;
          }
        });
      }
    }
  ]
}

呼び出しは正常に機能している$ajaxように見えますが (Chrome デバッガーを使用して確認したところ、正しい html が返され、ログにエラーが表示されていないことがわかります)、サーバーから返された html でガイドが更新されていません。

私は何を間違っていますか?

4

1 に答える 1

1

それは機能しません。コンテンツにはXHRオブジェクトが含まれます。非同期 AJAX 呼び出しからデータを返すことはできません。AJAX が返されたにコードを実行する必要があります。

$.ajax({type: 'GET',url: 'user-guide', data: {elementId: '#user-tools'}}).done(function(html){
  var guide = {
      id: 'jQuery.PageGuide',
      title: 'What can I do here?',
      steps: [{target: '#user-tools',content:html}]
  };
  //rest of your code goes here       
});
于 2013-04-04T22:30:51.010 に答える