我正在尝试使用ajax发送json
Ajax:
$.ajax({
type:"POST",
url:"../create_folder/",
data: {
//csrfmiddlewaretoken: "{{ csrf_token }}",
sharedfolder // from form
},
contentType: "application/json",
dataType: "json",
success: function(data) {
debugger;
$("#folder_create").dialog('close');
$("#folder-details").pqGrid("refreshDataAndView" );
},
error: function(data){
debugger;
alert("fail");
}
});
return false;
观点:
@csrf_exempt
def create_folder(request):
c = {}
c.update(csrf(request))
data = request.POST["sharedfolder"]
print type(data)
return HttpResponse(sf,content_type="application/type")
我收到此错误:
/ create_folder /"'共享文件夹'"'''''请求 方法:GET请求URL:http://localhost:8000/create_folder/ Django 版本:1.6.1异常类型:MultiValueDictKeyError异常 价值:"' sharedfolder'"例外 位置:/usr/local/lib/python2.7/dist-packages/django/utils/datastructures.py 在 getitem 中,第301行Python可执行文件:/ usr / bin / python Python 版本:2.7.6 Python路径:
[' / home / celestial / Documents / celestial_NAS',' /usr/lib/python2.7', ' /usr/lib/python2.7/plat-x86_64-linux-gnu' ;, ' /usr/lib/python2.7/lib-tk' ;,' /usr/lib/python2.7/lib-old', ' /usr/lib/python2.7/lib-dynload' ;, ' /usr/local/lib/python2.7/dist-packages' ;, ' /usr/lib/python2.7/dist-packages' ;, ' /usr/lib/python2.7/dist-packages/PILcompat' ;, ' /usr/lib/python2.7/dist-packages/gtk-2.0' ;, ' /usr/lib/python2.7/dist-packages/ubuntu-sso-client']服务器 时间:2015年7月26日星期日10:30:24 +0000
什么可能是错误的?
答案 0 :(得分:0)
您似乎没有正确地将sharedfolder
参数传递给AJAX脚本,因此当您尝试使用data = request.POST["sharedfolder"]
访问它时,您会收到Key Exception错误。
通常在AJAX调用中使用data
属性时,您将使用键值对,例如
sharedfolder: sharedfoldervalue
从表单提交中获取sharedfoldervalue
。
答案 1 :(得分:0)
好像你没有通过AJAX
发帖。我的意思是你的追溯中有GET
个请求。所以request.POST
将是{}
。这就是为什么你得到这个错误。检查
<form >
whatever
<button type="submit"> or even no type attribute
</form>
将上述内容更改为
<button type="button">
答案 2 :(得分:0)
几天前我收到了这个错误。
使用request.POST [“sharedfolder”]
的request.POST.get(“sharedfolder”)