gpt4 book ai didi

javascript - 在 php 中检索 formdata .append 方法

转载 作者:行者123 更新时间:2023-11-28 06:07:10 31 4
gpt4 key购买 nike

我上传文本/纯文件并将其传递给 php 通过 jquery ajax 执行某些操作。但是,jquery ajax返回jquery-2.2.3.js:8998 Uncaught TypeError: Illegal incall FormData not working in jquery return uncaught type error

检查 jquery 代码,如下所示 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. processData: false,//告诉 jQuery 不要处理数据

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

  • contentType: false,//告诉 jQuery 不要设置 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.

    关于javascript - 在 php 中检索 formdata .append 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36734049/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com