【问题标题】:Submitting multipart/form-data using ajax in php is null在 php 中使用 ajax 提交 multipart/form-data 为空
【发布时间】:2017-03-28 13:08:57
【问题描述】:

我有这种形式: 方法=“发布” 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: Illegal invocation 然后在服务器端 (php) 中 $_POST 为空。

请有人帮助我。

【问题讨论】:

    标签: javascript php jquery ajax forms


    【解决方案1】:

    要使用 jQuery.ajax 进行多部分/表单数据请求,contentTypeprocessData 需要设置为 false。

    FormData 构造函数也采用表单对象而不是 jquery 对象

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

    【讨论】:

    • 非常感谢兄弟!这个解决了问题: $("#support_ticket_form")[0] 我还有一个问题,为什么当我回显 $SERVER['REQUEST_METHOD'] 时它为空? ://
    • 你的意思是$_SERVER['REQUEST_METHOD']
    • 是的,我把 $_SERVER 拼错成了 $SERVER。谢谢兄弟。
    猜你喜欢
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 2016-04-02
    • 2017-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多