【发布时间】:2020-05-29 18:07:32
【问题描述】:
我有一个带有以下代码的音频 blob,我希望使用 javascript 将其发送到表单
function sendData(blob) {
let fd = new FormData;
fd.append('fname', 'test.wav');
fd.append("recording", blob);
let token = '{{csrf_token}}';
$.ajax({
url: 'landing/submit/',
type: 'POST',
headers: { 'X-CSRFToken': token },
data: fd,
cache: false,
processData: false, // essential
contentType: false, // essential, application/pdf doesn't work.
enctype: 'multipart/form-data',
});
}
我正在尝试将其发送到 django 表单,但出现 403 错误。这是它被发送到的视图:
views.py
def post_new(request):
if request.method == 'POST':
form = PostAudio(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('landing-home')
else:
form = PostAudio()
return render(request, 'landing/submit.html', {'form': form})
我错过了什么?大多数其他人在网上发帖说这与不使用 CSRF 令牌有关,但我将它们包含在我的标题中。
【问题讨论】:
标签: javascript python django