2016-03-19 1 views
1

いくつかのAjaxを追加して数ページでUXを改善しようとしています。私は、Ajaxリクエストを持っています:テンプレートデータではなくProgressEventオブジェクトを返すajaxコード

これは私にdjango開発サーバーからレンダリングされたテンプレートを与えていません。代わりに私は#search-results-container divに[object ProgressEvent]を取得します。 djangoビューは、要求を同期的に送信すると正しく表示されます。

私はおそらく完全に誤解しているthe specですが、私はテンプレートデータ+ httpヘッダーをサーバーからまっすぐに取得するはずですか?私はここで何をやったのですか?

+0

"load"ハンドラにイベントオブジェクトが渡されます。この応答は、XHRオブジェクトのプロパティとして使用できます。 – Pointy

+0

だから私はちょうど 'xhr.responseText'するべきです。はい、わかった。あなたがそれをペーストすれば私は答えとしてそれを受け入れるでしょう。ありがとう。 – Escher

答えて

1

XHRイベントのイベントハンドラには、イベントオブジェクトが渡されます。新しいブラウザではProgressEvent APIがサポートされます。しかし、それらは要求からのデータをあなたに与えることはありません。そのためには、XHRオブジェクト自体へのアクセスを保持する必要があります。 .responseTextと(該当する場合).responseXMLのプロパティには、HTTPリクエストが実際に完了した後(あなたの「ロード」ハンドラでは)、レスポンスコンテンツが含まれます。

関連する問題