我正在尝试使用ajax函数上传文件并且该文件正在上传,但问题是在我的页面进行刷新后几次,所以我的所有数据都已消失。 请帮我阻止页面加载。
我的HTML代码是:
<form>
<input type="file" name="upl" id="upl" /><br />
<input type="submit" name="submit" id="submit" />
</form>
<p id="res"></p>
我的js文件代码是:
$("#upl").on('change',function(e){
e.preventDefault();
e.stopPropagation();
var file_data = $(this).prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
$.ajax({
url: 'upload.php', // point to server-side PHP script
dataType: 'text', // what to expect back from the PHP script, if anything
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(php_script_response){
$("#res").append(php_script_response); // display response from the PHP script, if any
if(php_script_response){
return false;
}
}
});
});
我的php文件代码是:
<?php
if ( 0 < $_FILES['file']['error'] ) {
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
if( move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']) ){
echo "uploaded";
}
else{
echo "not uploaded";
}
}
?>
请帮助解决这个问题。
答案 0 :(得分:0)
因为您没有在表单中添加操作,而您想使用ajax,因此不需要表单。