在django中获取javascript数组
这是我的密码: url.py:在django中获取javascript数组,javascript,jquery,django,arrays,Javascript,Jquery,Django,Arrays,这是我的密码: url.py: from django.conf.urls import patterns from views import show,showpage urlpatterns = patterns('', (r'^$',showpage), (r'^show/$',show), ) 视图.py from django.http import HttpResponse def sho
from django.conf.urls import patterns
from views import show,showpage
urlpatterns = patterns('',
(r'^$',showpage),
(r'^show/$',show),
)
视图.py
from django.http import HttpResponse
def show(request):
arr = reqeust.GET.get('arr','Nothing')
print arr#**it's 'Nothing'**
if arr == 'Nothing':
msg = 'fail'
else:
msg = 'pass'
return HttpResponse(msg)
def showpage(request):
html = ''' <html>
<head>
<script language="javascript" type="text/javascript" src="/site_media/js/jquery-1.7.2.js"></script>
</head>
<body>
<input type="button" id="input_btn"/>
</body>
<script language="javascript" type="text/javascript">
$(function(){
$("#input_btn").bind("click",function(){
arr = [1,2,3,4,5,6]
$.ajax({
type:"GET",
url:"/show/",
data:{arr:arr},//**I want pass the arr to django**
success:function(data){alert(data);},
error:function(data){alert(data);}
});
});
})
</script>
</html>'''
return HttpResponse(html)
我得到了6,这是javascript数组的最后一个,我如何得到整个数组
提前谢谢 jQuery决定在字段名中添加方括号,这很可能是为了适应PHP。Django不需要它们,但不管怎样。访问
request.GET['arr[]]
和request.GET.getlist('arr[]')
。您还可以设置:
$.ajaxSettings.traditional = true;
这将使jQuery按照与Django一起工作的实际HTTP标准运行
当您不打算访问request.GET或request.POST(即ajax发布表单)时,这是必需的
明确建议在每个django项目中设置此选项。实际请求URL是什么样子的?抱歉!我忘记返回html页面了,等一下minute@IgnacioVazquez Abrams我修正了我的问题,我把请求URL放在问题的底部contentrequest.GET.getlist('arr[])有效!!我收集了关于请求url的信息,arr%5B%5D=1&arr%5B%5D=2等于arr[]=1&arr[]=2。还有请求。GET返回QueryDict谢谢@Ignacio Vazquez Abrams^谢谢@jpic尽管如此,我尝试了你的建议,得到的请求url如下:***。我更改了request.GET.getlist('arr'),我也能用。谢谢你的建议~
$.ajaxSettings.traditional = true;