Конструктор FormData принимает форму, а не строку (вы передаете селектор css)
var formData = new FormData($('.comments-form').get(0));
Если вы используете таким образом FormData, все поля в форме будут автоматически добавлены в объект FormData.
Если есть элементы вне полей формы, которые нужно отправить, используйте метод append
formData.append('comment_data', $('.comments-form').data('id'));
При передаче объекта FormData в jQuery ajax вы передаете его отдельно и добавляете набор processData и contentType setв ложь
$.ajax({
headers: {
'X-CSRF-Token': $('meta[name="_token"]').attr('content')
},
method: 'POST',
url: '/upload/comments/' + post_id,
data: formData,
contentType: false,
preocessData: false,
success: function(data)
{
console.log(data);
$('.all-comments').append(data);
},
error: function(data)
{
console.log('error');
}
});