<form id="uploadForm" enctype="multipart/form-data" action="http://localhost:1337/ad/upload" method="post" name="uploadForm" novalidate> <input type="file" name="userPhoto" id="userPhoto" /> <input type="submit" value="submit" id="uploadImage" /> </form>
这是我的html表单,它接受一个图像作为文件inout,用户可以选择一个图像文件,然后单击提交.这有效,但当前页面的网址更改为localhost:1337 / ad / upload.我希望页面保持相同的URL.
$("form#uploadForm").submit(function(event) { event.preventDefault(); var formData = new FormData($(this)[0]); var posting = $.post(url,formData); })
我试过这个使用jquery发送表单,但我收到一个错误:未捕获类型错误:非法调用
当类型为multipart / formdata时,表单提交了哪些数据,以及如何在jQuery上获取此数据
解决方法
处理数据
默认情况下,作为对象传入数据选项的数据(技术上,除了字符串之外的任何东西)将被处理并转换为查询字符串,适合默认内容类型“application / x-www-form-urlencoded” .如果要发送DOMDocument或其他未处理的数据,请将此选项设置为false.
试试这样的ajax –
var form = new FormData($("#uploadForm")[0]); $.ajax({ url: your_url,method: "POST",dataType: 'json',data: form,processData: false,contentType: false,success: function(result){},error: function(er){} });