我正在通过 Django 开发一个 Web 应用程序,我想从我的 javascript 获取信息到 Django 的视图,以便访问数据库。正如这篇文章所示,我正在使用 ajax 调用。我通过 onclick 事件调用 html 中的 js:sortedTracks.html ... <form action="{% url 'modelReco:sortVideo' video.id %}"> <input type="submit" value="Validate" onclick="ajaxPost()" /> </form> ...点击检测.js//defined herevar tracksSelected = [];//function that fill tracksSelectedfunction tagTrack(track_num){ if(tracksSelected.includes(track_num)){ var index = tracksSelected.indexOf(track_num); tracksSelected.splice(index, 1); }else{ tracksSelected.push(track_num); }};//ajax functionfunction ajaxPost(){$.ajax({ method: 'POST', url: '/modelReco/sortedTracks', data: {'tracksSelected': tracksSelected}, success: function (data) { //this gets called when server returns an OK response alert("it worked! "); }, error: function (data) { alert("it didnt work"); }});};所以我要传输的信息tracksSelected是一个像 int 的数组[21,150,80]视图.pydef sortedTracks(request):if request.is_ajax(): #do something print(request) request_data = request.POST print(request_data) return HttpResponse("OK")ajax 帖子运行良好,但我得到的答案只是一个空的查询字典,如下所示:<QueryDict: {}> 如果我打印请求,我会得到:<WSGIRequest: GET '/modelReco/sortedTracks/?tracksSelected%5B%5D=25&tracksSelected%5B%5D=27&tracksSelected%5B%5D=29'>我也尝试更改为,request_data=request.GET但我得到了一个奇怪的结果,其中数据现在在tracksSelected[]
2 回答

潇潇雨雨
TA贡献1833条经验 获得超4个赞
根据我的访问,ajax请求中发送的数据可以直接访问。例如:
def sortedTracks(request):
if request.method == 'POST':
usersV = request.POST.get('tracksSelected')[0]
for users in usersV:
print users
return HttpResponse("Success")
else:
return HttpResponse("Error")
正确的语法是数据:{tracksSelected:tracksSelected},
添加回答
举报
0/150
提交
取消