dsozqcx9668 2016-04-20 04:47
浏览 183
已采纳

在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 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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能