1

XUI xhr (ajax) 呼び出しの使用方法がわかりません。次のコードを検討してください。

x$('#left-panel').xhr('/panel', {
    async: true,
    callback: function() {
        alert("The response is " + this.responseText);
    },
   headers:{
       'Mobile':'true'
   }
});

これは、ユーザーが左側のパネルにカーソルを合わせると、xui が url に対して ajax 呼び出しを行い、/panel成功時にアラート ステートメントを出すということですか? しかし、代わりに ONBLUR を実行する ajax 呼び出しが必要な場合はどうなりますか?

4

1 に答える 1

4

xui.js API ドキュメントには、xhr リクエストが...

... は常に要素コレクションで呼び出され、html の動作を使用します。

したがって、 への GET リクエストで/panelは、応答テキストがアラート ウィンドウに表示されます。ただし、コールバックがないと、#left-panel以下を使用したかのように、応答が要素に読み込まれます。

x$('#left-panel').xhr('/panel', {
   async: true,
   callback: function() {
       x$('#left-panel').html(this.responseText);
   },
   headers:{
       'Mobile':'true'
   }
});

つまり、上記のコードは次と同じ効果を生み出すはずです。

x$('#left-panel').xhr('/panel', {
   async: true,
   headers:{
       'Mobile':'true'
   }
});

さらに、xhr リクエストの呼び出しは、ターゲット要素イベントとは無関係です。つまり、必ずしもホバー (またはブラー) によってトリガーされるとは限りません。#left-panel要素のクリックにバインドしたいとしましょう。次に、次のようなものが必要になります。

x$('#left-panel').on('click', function(e){
    this.xhr('/panel', {
       async: true,
       callback: function() {
           alert("The response is " + this.responseText);
       },
       headers:{
           'Mobile':'true'
       }
    });
});
于 2011-11-30T19:35:42.900 に答える