Ext 例子不能从服务器读到json数据的问题
2010-09-30 15:40
796 查看
错误:
最近在研究 django+extjs 的使用,我按照 ext 的例子,用js建了grid ,并取 django 服务器中的数据,但总是出现下面错误,取不到数据.
XMLHttpRequest cannot load http://127.0.0.1:8000/test/?_dc=1285778542180. Origin null is not allowed by Access-Control-Allow-Origin.
原因:
根据错误提示,google 了一下,找到了原因,因为我是直接打开本地 html 文件,然后在 html 文件里的js来取 django服务数据,这被似作是跨域访问了,当跨域 ajax 访问时,clinet 需要得到服务器的许可,方式是通过取得服务器送回的特殊 head 值来判断的,只要我们让服务端返回这几个头变量值就行了.
解决: (django 服务端修改一下)
res=HttpResponse()
res['Access-Control-Allow-Origin']='*'
res['Access-Control-Allow-Headers']='my-header,X-Requested-With'
res.write('{"rows":[{....},{....}......]}')
return res
参考 w3c 的文献:
http://www.w3.org/TR/2010/WD-cors-20100727/#introduction
最近在研究 django+extjs 的使用,我按照 ext 的例子,用js建了grid ,并取 django 服务器中的数据,但总是出现下面错误,取不到数据.
XMLHttpRequest cannot load http://127.0.0.1:8000/test/?_dc=1285778542180. Origin null is not allowed by Access-Control-Allow-Origin.
原因:
根据错误提示,google 了一下,找到了原因,因为我是直接打开本地 html 文件,然后在 html 文件里的js来取 django服务数据,这被似作是跨域访问了,当跨域 ajax 访问时,clinet 需要得到服务器的许可,方式是通过取得服务器送回的特殊 head 值来判断的,只要我们让服务端返回这几个头变量值就行了.
解决: (django 服务端修改一下)
res=HttpResponse()
res['Access-Control-Allow-Origin']='*'
res['Access-Control-Allow-Headers']='my-header,X-Requested-With'
res.write('{"rows":[{....},{....}......]}')
return res
参考 w3c 的文献:
http://www.w3.org/TR/2010/WD-cors-20100727/#introduction
相关文章推荐
- 在使用AJax时用JSON数据提交给服务端时。JSON.stringify()在IE6下不能使用的问题
- 解决EXT中Grid等组件读取Json数据的Date数据问题
- 解决Python自带的json序列化工具不能序列化datetime类型数据问题
- 服务器回传的json数据中文乱码问题
- 采用Json字符串,往服务器回传大量富文本数据时,需要注意的地方,最近开发时遇到的问题。
- 使用 ajax json(getJSON)从服务器读取数据,在IE下不更新问题解决
- (NSScanner的使用)替换服务器获取的JSON数据中的换行符(JSON是不能解析带有换行符字符串)
- 解决ExtJs分页grid中load数据为空时不能刷新 Ext.PagingToolbar信息的问题
- Ajax交互,浏览器接收不到服务器的Json数据(跨域问题)
- 关于客户端与服务器ajax使用json数据交互,出现中文乱码或因包含html标答而报错的问题(base64加密)
- CC3200 HTTP Cli通过POST的方式把json数据提交给服务器出现的问题
- ext的Ext.data.JsonStore不自动获取数据的问题记录
- HttpClient获取服务器JSON数据问题处理
- OVPM不能采集网管SUN服务器自身性能数据的问题解决
- HttpClient获取服务器JSON数据问题处理
- 使用 ajax json(getJSON)从服务器读取数据,在IE下不更新问题解决
- (转)解决ExtJs分页grid中load数据为空时不能刷新Ext.PagingToolbar信息的问题
- 关于servlet中不能获取前台传入的json数据的问题
- 解决Python自带的json不能序列化data,datetime类型数据问题
- dhl:ajax无法跨域改用getJSON(解决服务器返回json数据中文为乱码的问题$.ajaxSetup({ scriptCharset: "utf-8" , contentType: "application/json; chars)