使用jQuery ajax在其他数据中发送文件不起作用

时间:2017-01-05 19:10:31

标签: javascript php jquery ajax

我努力使这项工作变得有效,而且这里或其他任何地方的解决方案似乎都不适合我。我不知道自己做错了什么,也许我对事情的运作方式有误解。 我有一些数据,包括类型为input的{​​{1}},全部来自file。我希望通过一个html form请求将它们全部发送到一起并上传文件,并且还能够处理其他数据。

所以我创建了一个包含名称为ajax的所有数据(包括文件数据)的数组,并将其传递给the_data函数。

它不起作用。问题不在服务器端,因为永远不会发出ajax请求。问题是客户方面,但我不明白可能是什么问题。

所以这是我的代码:

ajax

以上数据不属于function sentDataToSql(pos) { var data = new FormData(); jQuery.each(jQuery('#photo-upload')[0].files, function(i, file) { data.append('file-'+i, file); }); var numbers = $('#numbers').val(); var my_address = $('#my-address').val(); var signals=$('.signals').text(); var date=new Date(); var month=date.getMonth()+1; var day=date.getDay(); var year=date.getFullYear(); var finaldate=year+'-'+month+'-'+day; var dt = new Date(); var time = dt.getHours() + ":" + dt.getMinutes() + ":" + dt.getSeconds(); var the_data={ nums:numbers, address:my_address, type:'sometype', lat:pos['lat'], lng:pos['lng'], sigs:signals, time:time, date:finaldate, pic:data //If I remove this everything will work(but of course the file won't be sent) }; if(my_address!=''){ $.ajax({ type:'POST', url:'../index.php', data:the_data, }) }else{ alert('Please .....! ') } } 且全部都在form之外,而且类型为form的输入元素如下所示:

file

这是我的控制台日志错误:

<input type="file" name="photo" style="opacity:0;" id="photo-upload">

在尝试将所有数据放入TypeError: 'append' called on an object that does not implement interface FormData. 对象后,编辑后的代码仍无法正常工作,我收到与上述相同的错误:

FormData

}

0 个答案:

没有答案