作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 django 的 fileupload 并让示例中的文档正常工作。现在,我想使用 JsonResponse 修改响应像这样:
def upload_file(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
handle_uploaded_file(request.FILES['file'])
# this is default as in django 1.7 docs:
# return HttpResponseRedirect('/success/url/')
# this is what I want to implement
return JsonResponse({'foo': "bar"})
else:
form = UploadFileForm()
return render_to_response('upload.html', {'form': form})
现在,我想要在我的模板上显示此 return JsonResponse({'foo': "bar"})
。但是,我不确定如何在 JS 端获取此变量。例如,类似:
<script type='text/javascript'>
var data = {{ foo }};
console.log(data);
</script>
..但这不起作用 - 我不确定如何使用 django 中的 JsonResponse
对象获取 JS 中的数据。
对此的任何帮助都会很棒!
更多信息
由于我使用 dropzone.js 来处理文件上传,因此我有以下 JS 代码:
## load dropzone.js
<script type="text/javascript">
Dropzone.options.myDropzone = {
paramName: "file_field", // The name that will be used to transfer the file
maxFilesize: 20, // MB
// Prevents Dropzone from uploading dropped files immediately
autoProcessQueue : true,
clickable : true,
init: function() {
this.on("success", function(file, responseText) {
// Handle the responseText here. For example, add the text to the preview element:
file.previewTemplate.appendChild(document.createTextNode({{django_json}}));
});
}
};
</script>
最佳答案
您发布的 JS 片段显示了您需要处理返回的 JSON 的位置。数据作为“responseText”传递到您的成功函数:
this.on("success", function(file, responseText) {
file.previewTemplate.appendChild(responseText);
});
但您可能希望使用 JSON.parse
将其转换为实际的 JS 对象。
关于javascript - POST 文件上传的 django JsonResponse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27382871/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!