我有一个 Django 服务器,它处理对 URL 的请求,该 URL 将返回一些 HTML 以在图片库中使用。我可以导航到 URL,浏览器将显示返回的 HTML,但我无法通过对相同 URL 执行 AJAX 调用(使用 jQuery)来获得相同的 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 时看到的条目:
[2010 年 1 月 16 日 17:34:10]“GET /galleryimages/Web HTTP/1.1”200 215
这是我进行 AJAX 调用时服务器日志中的条目:
[2010 年 1 月 16 日 17:36:19]“选项 /galleryimages/Web HTTP/1.1”200 215
为什么 AJAX 请求没有得到我的 Django 页面正在服务的 xml?