Javascript 使用ajax发布文件和数据
我在其他帖子上读到过这样的情况,类似于发生在我身上的事情,但我仍然无法得到解决方案Javascript 使用ajax发布文件和数据,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我在其他帖子上读到过这样的情况,类似于发生在我身上的事情,但我仍然无法得到解决方案 $('#edit-continue').on('click', function(e) { e.preventDefault(); var photo = new FormData(); <----- jQuery.each(jQuery('#photo')[0].files, function(i, file) {<
$('#edit-continue').on('click', function(e) {
e.preventDefault();
var photo = new FormData(); <-----
jQuery.each(jQuery('#photo')[0].files, function(i, file) {<----- SO suggest for file upload
photo.append('file-' + i, file); <-----
});
$.ajax({
type: "POST",
url: "/templates/staycation/common/edit-profile.php",
data: {
id: $('#id').val(),
email: $('#email').val(),
birthday: $('#birthday').val(),
gender: $("input[name='gender']:checked").val(),
photo: photo,
},
success: function(data) {
console.log('pass');
console.log(data);
},
error: function(data) {
console.log('not pass');
console.log(data);
},
cache: false,
contentType: false,
processData: false, <------ i think my error is here
});
$('edit continue')。在('click',函数(e){
e、 预防默认值();
var photo=new FormData();这正是适合我的
// formData will wrap all files and content of form
var formData=new FormData($('#formId')[0]);
// you can add more data ot formData after this to
$.ajax({
url : 'upload.php',
type : 'post',
data : formData,
processData:false,
contentType:false,
success : function(e)
{
alert('uploaded successfully');
},
error : function()
{
alert('hello from here');
}
});
这对我来说是完美的
// formData will wrap all files and content of form
var formData=new FormData($('#formId')[0]);
// you can add more data ot formData after this to
$.ajax({
url : 'upload.php',
type : 'post',
data : formData,
processData:false,
contentType:false,
success : function(e)
{
alert('uploaded successfully');
},
error : function()
{
alert('hello from here');
}
});
请参见发布HTML表单,也请参见发布HTML表单