Encapsulamento e uso de ajax

ajax

Introdução

Simplificando, o ajax é um meio de interação front-end e back-end .
Ajax é uma palavra composta, onde a é uma palavra em inglês e assíncrona, o que significa assíncrono, j é js, a: e, x: dados no lado do servidor, então podemos entender facilmente que ajax é na verdade uma combinação de tecnologia.
Características : Os dados podem ser carregados de forma assíncrona, os dados podem ser carregados sem interromper outras tarefas do navegador, os dados podem ser carregados sem atualização e carregamento parcial.
Vantagens e desvantagens:
Ajax é compatível, mas não é compatível
Carregando dados sem atualizar, melhorando a experiência do usuário
Carregando dados sem atualizando, carregando parcialmente, melhorando o desempenho
Ambiente de uso do Ajax:
Ajax é interação front-end e back-end
. Se houver ajax,
haverá deve ser um plano de fundo. Servidor
Portanto, o ajax também deve ser executado no ambiente do servidor
  . No processo de aprendizagem do ajax, precisamos entender a análise de dados, porque precisamos converter dados ao escrever interações de front-end e back-end, e exiba os dados adicionados ao front-end. É uma operação básica e vou vincular os métodos de análise necessários aqui: JSON.patrse(); e eval() .
JSON.parse() só pode converter o formato json, eval (): executa caracteres como código js, ​​o conteúdo dentro dos caracteres necessários está em conformidade com a sintaxe js. Você pode executar o código abaixo para ver a diferença.

		var json = '[{"name":"admin"},]';
		console.log(eval(json));
		console.log(JSON.parse(json));

Abaixo, listarei algumas partes do código ajax para você, que é conveniente para todos aprenderem e usarem. Ele precisa ser executado no servidor durante a execução. Se você não o tiver, poderá instalar um phpstudy. Existem gratuitos na Internet. Esses pedaços de código devem estar em ordem um a um. Digite, há comentários no código, acredito que todos possam entender.
Crie uma pasta ajax, crie uma subpasta data na pasta e crie um arquivo text.txt e test.php na pasta dada, com conteúdo aleatório. Após a conclusão do trabalho de preparação, você pode criar e executar o seguinte código:
ajax-get.html, o código é o seguinte

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		测试ajax的get请求。
	</body>
	<script type="text/javascript">
//		//var url = "data/text.txt";//相对路径,在本机可以,放在服务器就出现问题了
		var url = "http://localhost/Myphp/ajax/data/text.txt";//绝对路径不容易出错,任何情况下都可以访问到。
		//1、声明载体xhr对象
		var xhr = new XMLHttpRequest();
		//2、发起请求,设置请求方式,地址,异步
		xhr.open("get",url,true);//默认为true也就是异步
		//3、等待接通
		//3、通过事件监听状态
		xhr.onreadystatechange = function(){
     
     
			//readyState状态:ajax的执行阶段
			
			if(xhr.readyState == 4 && xhr.status == 200){
     
     
				console.log(xhr.status+"="+"交易成功");
				console.log(xhr.responseText);
			}else if(xhr.readyState == 4 && xhr.status !=200){
     
     
				console.log(xhr.status);
			}
		}
		//4、发送
		xhr.send(null);
		
	</script>
</html>

O código ajax-get2.html é o seguinte: Este é o pacote do ajax, que é conveniente para nós usarmos

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<!--正在验证ajax-get的封装,点击页面发起请求-->
	</body>
	<script type="text/javascript">
		document.onclick = function(){
     
     
			var url = "http://localhost/Myphp/ajax/data/test.php";
			ajaxGet(url,function(res){
     
     
				console.log(res);
			},{
     
     
				user:"admin",
				pass:123,
				age:13,
				sex:1,
				like:"ball"
			});
		}
		//第三个数据是可选的,可以有也可以没有
		function ajaxGet(url,cb,data){
     
     
			//1、解析并拼接数据
			var str = "";
			for(var i in data){
     
     
				str = str + i + "=" +data[i]+"&";
			}
			//console.log(str.slice(0,str.length-1));//注意数组,字符串方法的灵活使用。
			//2、把拼接好的数据再拼接到url
			url = url + "?" + str.slice(0,str.length-1);
			//3、开启ajax过程。
			var xhr = new XMLHttpRequest();
			xhr.open("get",url,true);
			xhr.onreadystatechange = function(){
     
     
				if(xhr.readyState == 4 && xhr.status == 200){
     
     
					cb(xhr.responseText);//给回调函数传参。(好好想回调传参)
				}
			}
			xhr.send();
		}
		
	</script>
</html>

O código ajax-post.html é o seguinte

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		post封装测试。
	</body>
	<script type="text/javascript">
		var url = "http://localhost/Myphp/ajax/data/post.php";
		document.onclick = function(){
     
     
			ajaxPost(url,function(res){
     
     
				console.log(res);
			},{
     
     
				a:"hello",
				b:"world",
				abc:"hahaha"
			})
		}
//		
		function ajaxPost(url,cb,data){
     
     
			//1\解析对象拼接数据
			data = data || {
     
     };
			var str = "";
			for(var i in data){
     
     
				str = str + i + "=" + data[i] + "&"; 
			}
			str = str.slice(0,str.length-1);
			
			//2\执行ajax
			var xhr = new XMLHttpRequest();
			xhr.open("post",url,true);
			xhr.onreadystatechange = function(){
     
     
				if(xhr.readyState == 4 && xhr.status == 200){
     
     
					cb(xhr.responseText);
				}
			}
			//3、设置发送头文件
			xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
			//4、发送
			xhr.send(str);
		}
	</script>
</html>

epílogo

Quando você estiver estudando, você mesmo deve digitar. Não pense que é perda de tempo. É só atribuir e colar, e o efeito é completamente diferente. vivendo confortavelmente sem a ajuda de ninguém.

おすすめ

転載: blog.csdn.net/qq_38110274/article/details/103229137