这是html
<input id="fileUpload" multiple="multiple" type="file"/>
<ul>
<li><div id="image-holder"></div></li>
<li><input type="submit" value="Next"></li>
</ul>
这是脚本
<script type="text/javascript">
$('#submit').click(function() {
var files = $("[type='file']")[0].files;
console.log(files)
var data = {
'images[]' : files ,
csrfmiddlewaretoken: '{{csrf_token}}'
}
$.ajax({
type: "POST",
url : "{% url 'data_entry' %}",
data: data,
success: function(data) {
},
error: function(response, error) {
}
});
});
</script>
在提交时单击我收到此错误
Uncaught TypeError: Illegal invocation
如何使用jquery将图像发送到django视图?
答案 0 :(得分:1)
你必须告诉Jquery不处理文件。而且我找到了在数据中添加文件的解决方法......希望这会有所帮助......
let test = ["a":1,"b":2,"c":3]
let kmToPoint = test.map { (<#(String, Int)#>) -> τ_0_0 in <#code#> }
错误是因为ajax不处理对象...这就是为什么我们在进入ajax之前序列化表单,现在你的情况是你直接注入文件对象然后错误。
τ_0_0
在ajax ......
Illegal invocation