javascript - 在php中使用ajax提交multipart/form-data为null

标签 javascript php jquery ajax forms

我有这样的形式: 方法=“帖子” enctype="multipart/form-data"

每次通过ajax提交表单

$("#openTicketSubmit").click(function(){
    var support_ticket_form_data = new FormData($("#support_ticket_form"));
    $.ajax({
        type: "POST",
        url: "{$systemurl}submit_ticket.php",
        data: support_ticket_form_data,
        contentType: 'multipart/form-data',
        success: function(results){
            console.log(results);
        },
        error( xhr, ajaxOptions, thrownError ){
            console.log( thrownError );
        }
    });
});

出现错误:jquery.min.js:4 Uncaught TypeError: 非法调用 然后在服务器端(php)$_POST 为空。

请有人帮助我。

最佳答案

要使用 jQuery.ajax 执行 multipart/form-data 请求,contentTypeprocessData 需要设置为 false。

此外,FormData 构造函数采用表单对象而不是 jquery 对象

var support_ticket_form_data = new FormData($("#support_ticket_form")[0]);

关于javascript - 在php中使用ajax提交multipart/form-data为null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40596496/

相关文章:

php - 根据日期持续时间从mysql查询获取数据

javascript - 为什么 Jquery parseXML 不起作用?

javascript - Angular JS 中的循环

javascript - javascript 代码中未终止的字符串文字,我也不确定 PHP 代码

javascript - 尝试使用ajax调用php函数不起作用

php - Facebook php SDK/SQL - 获取用户的第一个状态 EVER

javascript - 在没有固定高度的情况下将div设置在父div的底部

php - CodeIgniter:json_decode 数组问题

javascript - 如何取消选择除另一个图例之外的所有图例,它不应该在echarts中取消选择

javascript - React.js 和 Firebase 如何在我的 bootstraptable 中显示数据