Javascript 通过jQuery向PHP发送图片-FormData每次都是空的

Javascript 通过jQuery向PHP发送图片-FormData每次都是空的,javascript,jquery,multipartform-data,Javascript,Jquery,Multipartform Data,我读了一些问题,但什么也帮不了我 我有一个普通的HTML表单: <form id="featured_upload" method="post" action="#" enctype="multipart/form-data"> <input type="file" name="my_image_upload" id="my_image_upload" multiple="false" /> <input type="hidden" name="post_i

我读了一些问题,但什么也帮不了我

我有一个普通的HTML表单:

<form id="featured_upload" method="post" action="#" enctype="multipart/form-data">
  <input type="file" name="my_image_upload" id="my_image_upload" multiple="false" />
  <input type="hidden" name="post_id" id="post_id" value="<?php echo get_the_ID(); ?>" />
  <?php wp_nonce_field( 'my_image_upload', 'my_image_upload_nonce' ); ?>
  <div class="button-reg-box">
    <button type="submit" class="btn btn-primary btn-set-picture">Profilbild bearbeiten</button>
  </div>
</form>

试试这个

var formData = $('#featured_upload').serialize();
这将为您提供表单详细信息

请尝试以下操作:

添加与操作一起隐藏的输入类型

<input type="hidden" name="action" id="post_id" value="dmd_picture" />
使用以下ajax属性

 contentType: false,
 processData: false,
注意:不要使用async:false

尝试以下代码:

var formData = new FormData();
formData.append('image', $('input[type=file]')[0].files[0]); 
发送表单

带有jQuery的Ajax请求如下所示:

$.ajax({
    url: 'Your url here',
    data: formData,
    type: 'POST',
    contentType: false,
    processData: false,
    //...Other options like success and etc
})

它仍然为空。仍然为空并且出现此新错误。未捕获类型错误:k.toLowerCase不是functionFormData不接受参数,对吗?什么是空的?你怎么知道是空的?我正在用firebug调试。。。它是空的$_PHP中的文件也是空的。您能为这个ajax reuqest提供PHP函数吗?我调试了变量formData,但这个变量仍然是空的。@cgee应该在那里删除SetAndChangePicture粘贴代码
var formData = new FormData();
formData.append('image', $('input[type=file]')[0].files[0]); 
$.ajax({
    url: 'Your url here',
    data: formData,
    type: 'POST',
    contentType: false,
    processData: false,
    //...Other options like success and etc
})