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

时间:2016-11-14 19:36:51

标签: javascript php jquery ajax forms

我有这种形式: 方法= “POST” ENCTYPE = “多部分/格式数据”

每次通过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为空。

请有人帮助我。

1 个答案:

答案 0 :(得分:1)

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

FormData构造函数也接受一个表单对象而不是jquery一个

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