画像ギャラリーで使用する HTML を返す URL への要求を処理する Django サーバーがあります。URL に移動すると、返された HTML がブラウザーに表示されますが、同じ URL に対して (jQuery を使用して) AJAX 呼び出しを行っても、同じ HTML を取得できません。
これは、応答を生成するビューです。
def gallery_images(request, gallery_name):
return render_to_response('galleryimages.html', {'images': get_images_of_gallery(gallery_name)}, mimetype='text/xml')
これは「galleryimages.html」テンプレートです:
{% for image in images %}
<div id="{{image.name}}big">
<div class="actualImage" style="background-image:url({{image.image.name}});">
<h1>{{image.caption|safe}}</h1>
</div>
</div>
{% endfor %}
これは私が行っているjQuery呼び出しです:
$("#allImages").load("http://localhost:8000/galleryimages/Web");
ただし、これは #allImages div には何もロードしません。firebug を使用して jQuery の Ajax メソッド .get(" http://localhost:8000/galleryimages/Web ") を実行したところ、firebug は応答テキストが完全に空であると言っています。
Django サーバーのログを確認すると、ブラウザーから手動で URL に移動したときに表示されるエントリは次のとおりです。
[16/Jan/2010 17:34:10] "GET /galleryimages/Web HTTP/1.1" 200 215
これは、AJAX 呼び出しを行ったときのサーバー ログのエントリです。
[16/Jan/2010 17:36:19] "オプション /galleryimages/Web HTTP/1.1" 200 215
Django ページが提供している xml を AJAX リクエストが取得しないのはなぜですか?