我在这里遇到了一些问题:
我有 index.html ,其中包含上传文件功能
我有 cleaning.php ,它会清理文件中的每个字符串
所以,我想要的是如果我运行index.html然后上传一个文件,那时它将执行cleaning.php并将clean文件返回给index.html 我怎样才能做到这一点? 需要你的帮助:(
这是我的index.html文件:
<script>
$(function testing (data) {
$("#upload").bind("click", function () {
// I want to pass this array to cleaning.php
$someArray[] = "stringFromCSVFile"; // must pass to cleaning.php
});
</script>
这是我的cleaning.php文件:
$array = csvToArray("filecsv.csv"); //convert uploaded file to array
callFuncA($array);
functionA($array){
return $something;
}
答案 0 :(得分:0)
您可以尝试以这种方式使用ajax post文件,您可以根据需要对cleaning.php进行更改并将响应返回到index.html。
index.html 档案
<form id="data" method="post" enctype="multipart/form-data">
<input type="file" />
<button type="submit">Submit</button>
<div id="response"></div>
</form>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script>
var files;
$('input[type=file]').on('change', prepareUpload);
function prepareUpload(event){
files = event.target.files;
}
$('form').on('submit', uploadFiles);
function uploadFiles(event){
event.stopPropagation();
event.preventDefault();
var data = new FormData();
$.each(files, function(key, value){
data.append(key, value);
});
$.ajax({
url: 'cleaning.php',
type: 'POST',
data: data,
cache: false,
dataType: 'json',
processData: false,
contentType: false,
success: function(data, textStatus, jqXHR){
//Successfuly Uploaded
$('#response').html(JSON.stringify(data));
},
error: function(jqXHR, textStatus, errorThrown){
$('#response').html('ERRORS: ' + textStatus);
}
});
}
</script>
cleaning.php 档案
<?php
echo json_encode($_FILES);
?>
答案 1 :(得分:-1)
这是不可能的,ajax无法读取上传文件的内容。
您应该在index.html中放置一个上传表单并将其提交给cleaning.php,它在PHP中进行清理并返回结果。