1. post请求中是否可以在url中携带请求体信息?
可以。Get请求时,请求体放在URL中; POST请求,请求体既可以是Form表单中的数据 也可以在请求的URL地址中放请求体信息。
如:
<form action="/index/?id=1" method="post"> <input type="text" name="username"> <input type="text" name="password"> </form>
这样,后台也可以拿到URL中的参数:
def Foo(request): nid = request.GET.get('id') name = request.POST.get('username') pwd = request.POST.get('password') return HttpResponse('ok')
2. 关于发送ajax请求时,请求数据的不同格式
1. 数据只是json格式的数据
$.ajax({ url:'/index/', type:'post', data:{'k1':v1, 'k2':v2}, success:function () { }, })
2. 数据中带有列表格式数据
$.ajax({ url:'/index/', type:'POST', data:{'k1':[1,2,4], 'k2':v2}, traditional:true, success:function () { }, })
3. 数据中带有字典格式的数据
$.ajax({ url:'/index/', type:'POST', data:{'k1':JSON.stringify({'time':124}), 'k2':v2}, success:function () { }, })