django1.3的request object文档中写道
HttpRequest.is_ajax()
Returns True if the request was made via an XMLHttpRequest, by checking the HTTP_X_REQUESTED_WITH header for the string 'XMLHttpRequest'. Most modern JavaScript libraries send this header. If you write your own XMLHttpRequest call (on the browser side), you'll have to set this header manually if you want is_ajax() to work.
开始不清楚头部的命名规范,发送异步请求的时候添加了HTTP_X_REQUESTED_WITH头,测试不行。再看了下django文档
django文档 写道
With the exception of CONTENT_LENGTH and CONTENT_TYPE, as given above, any HTTP headers in the request are converted to META keys by converting all characters to uppercase, replacing any hyphens with underscores and adding an HTTP_ prefix to the name. So, for example, a header called X-Bender would be mapped to the META key HTTP_X_BENDER.
原来HTTP是自动添加的前缀,于是改成X_Requested_With,还是不行。后来想了下django服务是用nginx反向代理的,非标准的头是要自行设定的。于是打开nginx配置文件,再server里添加了:
fastcgi_pass_header X_Requested_With;
以为可以了,一试还是不行,头晕了。google了下发现nginx是不认下划线"_"的,将头改为:
X-Requested-With
nginx配置文件改为:
fastcgi_pass_header X-Requested-With;
重启nginx再试,妥妥的。
分享到:
相关推荐
Django 中request.get和request.post的区别 POST和GET差异: POST和GET是HTTP协议定义的与服务器交互的方法。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。另外,还有PUT和DELETE方法。 POST和GET都...
Django14-1.4.8-1.el6.noarch.rpm dnsmasq-utils-2.48-13.el6.x86_64.rpm ebtables-2.0.9-6.el6.x86_64.rpm febootstrap-supermin-helper-3.21-4.el6.x86_64.rpm gettext-0.17-16.el6.x86_64.rpm glusterfs-api-3.4....
django平台开发视频网站源代码,包括xadmin+django+python完整项目。
Packt.Django.JavaScript.Integration.AJAX.and.jQuery
Python.Web开发指南,详细介绍了使用Django框架下python的快速开发
Django面试题.pdf_python面试
使用Twitter Bootstrap的一个Django admin主题,不需要修改网站的任何代码,只需要加到中间件中即可
基于DJANGO写的BLOG源代码,支持HTML文本编辑功能
json格式还有一些 非表单序列化 的格式,都可以从 request.body 中获取请求体中的数据,对于ajax请求可以使用 request.is_ajax() 来判断 根据请求的信息获取base url(有时候服务的域名比较多,还是需要动态的拼接...
主要介绍了Django异步任务线程池实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
python web开发 django最好的学习教程 django 推荐书籍
django orm oldboy session 3
采用技术: Django 系统实体对象: 图书类型:图书类别,类别名称,可借阅天数 图书:图书条形码,图书名称,图书所在类别,图书价格,库存,出版日期,出版社,图书图片,图书简介,图书文件
django开发,博客开发讲解,该文档主要详细介绍如何创建一个简单的博客
实现了python 浏览器开发的前后端开发的入门demo,使用了pyecharts+Django+Ajax技术展示和传输数据。
基于Django的python信息管理系统,用于酒店预订管理
setting文件中 if DEBUG 设置的参数都是在开发环境下的 static参数 url中的写法是这样 if settings.DEBUG: urlpatterns += static (settings.STATIC_URL, document_root = settings.STATIC_ROOT) urlpatterns += ...
django-03-模板变量的使用.rar django-04-运算符-表达式.rar django-05-URL配置.rar Django-06-模板基本使用.rar Django-07-数据库使用-01.rar Django-08-数据库使用-02.rar Django-09-数据库使用_03.rar Django-10-...
前后端分离,使用redis存储用户token实现登录才可以调用的接口