PHP Ajax发布文件和文本同一时间

时间:2017-06-14 10:06:15

标签: php jquery ajax

我只能张贴图片并使用$ _FILES ['foto'] ['name']获取。我需要同时发布图片和文字。

        var fotoFile = new FormData();
        $('#foto').on('change', function (evt) {
            var files = evt.target.files;
            if (files.length > 0) {
                fotoFile.append("foto", files[0]);
            }
        });

是邮政编码

`                $.ajax({
                    url: 'postpages/personelsave.php', 
                    dataType: 'text',
                    type: 'post',
                    cache: false,
                    contentType: false,
                    processData: false,
                    data: {foto : fotoFile, tc_no : document.getElementById('tcNo').value},                         
                    success: function(php_script_response){
                        alert(php_script_response);
                    }
                });`

和personelsave.php

$_FILES['foto']['type']
$_POST["tc_no"]

错误:未定义索引foto。

它出了什么问题?

2 个答案:

答案 0 :(得分:0)

你不能使用multiple dataTypes,如果你使用JSONP,它将返回一个jsonp块,你可以使用它来调用回调来处理这样的返回数据:

Basic example of using .ajax() with JSONP?

因此,通过JSONP,您可以处理多个数据类型。

答案 1 :(得分:0)

只需使用以下内容即可提交所有类型的输入数据,包括文件

var formData = new FormData($("#formID")[0]);
$.ajax({
    type: "POST",
    url: 'postpages/personelsave.php', 
    data: formData,
    processData: false,
    contentType: false,
});