ajax小应用

1.ajax提交表单

HTML

<form action="#" id="form1">
	<input type="text" name="username" id="username" />
	<input type="password" name="password" id="password" />
	<input type="submit" value="提交" name="submit"/>
</form>

JS

var f1=document.getElementById("form1");

f1.onsubmit=function(){
	var xhr = new XMLHttpRequest();
	
	xhr.open('get','getList.php?username='+f1.username.value+'&password='+f1.password.value,true);
	
	xhr.onload=function(){
		alert(xhr.responseText);
	}
	xhr.send();
	return false;
}

PHP

<?php
header('Content-type:text/html;charset="utf-8"');
error_reporting(0);

$username = $_GET['username'];
$password = $_GET['password'];

echo "你提交的数据是 username : {$username},password : {$password}";

2.ajax上传文件限制大小

HTML

<input type="file" id="file" />

JS

var file1=document.getElementById("file");

file1.onchange=function(){
	var files = this.files;
	
	//判断是否选择文件
	if(files.length==0)return;
	
	//判断文件大小是否超出50M
	if(files[0].size>52428800){
		alert('你要上传的文件超出了限制');
		return;
	}
	
	var xhr=new XMLHttpRequest();
	xhr.open('post','getList.php',true);
	
	xhr.onload=function(){
		alert(xhr.responseText);
	}
	
	//处理需要上传的文件
	var fd=new FormData();
	fd.append('file',files[0]);
	//上传
	xhr.send(fd);
}

PHP

<?php
header('Content-type:text/html;charset="utf-8"');
error_reporting(0);

$username = $_GET['username'];
$password = $_GET['password'];
<?php
header('Content-type:text/html; charset="utf-8"');
$upload_dir = 'uploads/';

if(strtolower($_SERVER['REQUEST_METHOD']) != 'post'){
	exit_status(array('code'=>1,'msg'=>'错误提交方式'));
}

if(array_key_exists('file',$_FILES) && $_FILES['file']['error'] == 0 ){
	
	$pic = $_FILES['file'];
	
	if(move_uploaded_file($pic['tmp_name'], $upload_dir.$pic['name'])){
		exit_status(array(
            'code'=>0,
            'msg'=>'上传成功',
            'url'=>$upload_dir.$pic['name'],
            'name'=>$pic['name']
		));
	}
	
}
echo $_FILES['file']['error'];
exit_status(array('code'=>1,'msg'=>'出现了一些错误'));

function exit_status($str){
	echo json_encode($str);
	exit;
}
?>

  

原文地址:https://www.cnblogs.com/yangxue72/p/8251254.html