dsozqcx9668
2016-04-20 04:47 阅读 112

在php中检索formdata .append方法

I upload text/plain file and pass it to php do something via jquery ajax. However, jquery ajax return jquery-2.2.3.js:8998 Uncaught TypeError: Illegal invocation FormData not working in jquery return uncaught type error

Check jquery code which look like below enter image description here

<input type="file" id="file">
<input type="submit" value="submit"  id="btnUpload">

<script>
$(document).ready(function(){

$('#btnUpload').click(function(){

    var ajaxData = new FormData();
    ajaxData.append('action', 'scan_email');
    ajaxData.append('file', $('#file')[0].files[0]);
    $.ajax({
        url: 'ajax.php',
        data: ajaxData,
        method: 'POST',
//          beforeSend: function(){ 
//              // alert('uploading..');
//          },
        success: function(data){
            alert(data);
        },
        error: function(err){
            alert('error');
        }
        });

    });

});
</script>

ajax.php

<?php

echo $_POST['action'];

if (isset($_POST['action'])) {
    switch ($_POST['action']) {
        case 'scan_email':
            scan_email();
            break;
    }
}

function scan_email(){

    if ($_FILES["file"]["error"] > 0)
        echo "Error: " . $_FILES["file"]["error"] . "<br />";
    else if ($_FILES["file"]["type"] !== "text/plain")
        echo "File must be a .txt";
    else{
        //do something
        echo 'success';
        // $file_handle = fopen($_FILES["file"]["name"], "rb");
       }
    exit;
}

?>
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    dpw43061 dpw43061 2016-04-20 05:07

    ADD:

    1. processData: false, // tell jQuery not to process the data

    ProcessData flag set to false, otherwise, jQuery will try to convert your FormData into a string

    1. contentType: false, // tell jQuery not to set contentType

    ContentType option to false, forcing jQuery not to add a Content-Type header for you, otherwise, the boundary string will be missing from it.

    点赞 评论 复制链接分享

相关推荐