ajax multipart / form-data post charset utf-8

时间:2016-11-06 16:28:29

标签: php ajax utf-8 multipartform-data

我有一个包含文件上传和需要UTF-8编码的文本输入的表单。当我尝试通过ajax发送表单时,我无法将contentType更改为false,那么我该如何保护我的文本呢?

    $.ajax({
            url         : 'url';?>',
            type: "POST",             
            data: new FormData(this), 
            contentType: false,       
            cache: false,            
            processData:false,        
            success: function(data)   
            {      
                 alert 'ok';
            }

2 个答案:

答案 0 :(得分:0)

您可以在表单提交上使用此代码:

$("#formId").submit(function(){

    var formData = new FormData($(this)[0]);

    $.ajax({
        url: 'your_url',
        type: 'POST',
        data: formData,
        async: false,
        success: function (data) {
            alert(data)
        },
        cache: false,
        contentType: false,
        processData: false
    });

    return false;
});

答案 1 :(得分:0)

嗯,我根本没有得到这个问题,每个ajax帖子都在utf-8中。查看docs

  

如果数据是Document,则在发送之前将其序列化。什么时候   始终在版本3之前发送文档,Firefox版本   使用UTF-8编码发送请求; Firefox 3正确发送   使用body.xmlEncoding指定的编码或UTF-8 if的文档   没有指定编码。