javascript - 表单数据未通过 ajax 调用提交

标签 javascript php jquery ajax laravel

每次用户更改其个人资料图片时,我都需要进行 ajax 调用。我可以成功进行 ajax 调用,但问题是没有任何内容发送到服务器。

<form action="#" enctype='multipart/form-data' id="avatar-upload-form">
    <div class="form-group">
       <label class="btn btn-default btn-file btn-block">
              Upload new picture <input type="file" style="display: none;" name="profile_image" id="profile_image">
       </label>
    </div>
</form>


$('#profile_image').on('change', function() {
    var formData = new FormData("#avatar-upload-form");
    $.ajax({
        url: '/users/upload/avatar',
        type: 'POST',
        dataType: 'json',
        enctype: 'multipart/form-data',
        cache:false,
        processData: false,
        contentType: false,
        data: formData,
        success: function(data) {
           console.log(data);
        }, 
        error: function(error) {
           console.log(error);
        }
     })
});

enter image description here

PHP 代码

Route::post('/users/upload/avatar', function() {
   dd(Request::file('profile_image')); // return empty array
});

最佳答案

我自己解决这个问题。我只需要使用标准的 javascript 表单对象,如下所示:
document.getElementById('form_id')[0]

关于javascript - 表单数据未通过 ajax 调用提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41073960/

相关文章:

php - 如何获取递归数组的父级?

php - 适合初学者的 PHP 动态页面?

javascript - 自动完成成功显示错误数据

php -/usr/local/etc 与/etc/apache2 在 Mac OS 上运行的 apache 之间的区别

javascript - 如何在鼠标悬停时获取选定的索引?

javascript - CouchDB 映射/归约功能可按日期显示用户的有限结果

javascript - 右键单击不使用单击功能的表行

javascript - 在 .content div 之间导航

javascript - 如何从 chrome 扩展程序访问 iframe?

javascript - 从字符串末尾到破折号获取数字