Ajax 异步请求几种方式—— load、get、post、getJSON

Ajax 异步请求几种方式—— load、get、post、ajax、getJSON

Ajax 异步请求的方式有很多,当前这里所介绍的都是建立在 Jquery 库的基础上使用的请求方式;
每种请求方式都有它的可取之处,下面通过实例来一一介绍。

Ajax 请求 —— load
  • 定义:.load() 方法从服务器加载数据,并把返回的数据放置到指定的元素中。

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Load 请求</title>
    	<script src="./js/jquery.min.js"></script>
    </head>
    <style>
    	.result{
    		width:200px;
    		height: 200px;
    		border:1px #0f0 solid;
    		margin-bottom: 20px;
    	}
    </style>
    <body>
    	<button type="button">使用 load 请求 获取数据</button>
    	<div class="result"></div>
    	<script>
    		$(function(){
    			$('button').on('click',function(){
    				//使用 load 请求方式;
    				//1.最简单的请求
    				// $('.result').load('./text.php');
    
    				//2.带有请求完成时运行的函数
    				/* $('.result').load('./text.php',function(response,status,xhr){
    					console.log(response); //请求的结果数据
    					console.log(status); //请求的状态"success"
    					console.log(xhr); //响应 XMLHttpRequest 对象
    				});*/
    
    				//3.带有参数请求,和请求完成时运行的函数
    				$('.result').load('./text.php',{id: 25},function(response,status,xhr){
    					console.log(response); //请求的结果数据
    					console.log(status); //请求的状态"success"
    					console.log(xhr); //响应 XMLHttpRequest 对象
    				});
    			});
    		});
    	</script>
    </body>
    </html>
    

    上面例子中需要放在服务器端运行,并且使用了三种方式请求,当前前两种方式已注释;

    如果请求的为 .txt 文档,返回后在页面上显示的为乱码,请确认请求的 .txt 文档是不是 utf-8 格式;如果不是,可将文档修改另存为时,选择 编码格式为 utf-8 ; 后面一样,不再赘述。

    .load() 请求相关参数可参考文档:http://www.w3school.com.cn/jquery/ajax_load.asp

Ajax 请求 —— get
  • 定义:.get() 方法通过远程 HTTP GET 请求载入信息。

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Get 请求</title>
    	<script src="./js/jquery.min.js"></script>
    </head>
    <style>
    	.result{
    		width:200px;
    		height: 200px;
    		border:1px #0f0 solid;
    		margin-bottom: 20px;
    	}
    </style>
    <body>
    	<button type="button">使用 get请求 获取数据</button>
    	<div class="result"></div>
    	<script>
    		$(function(){
    			$('button').on('click',function(){
    				//使用 get 请求方式;
    				//1.最简单的请求,一般用于请求网页
    				// $.get('./test.php');
    
    				//2.请求完成后带有返回值
    				/* $.get('./test.php',function(data){
    					console.log(data); //请求的结果数据
    				});*/
    
    				//3.请求完成后带有返回值,且设置服务器响应的数据类型。 
    				//类型有:xml html text script json jsonp
    				/* $.get('./test.php',function(data){
    					console.log(data); //请求的结果数据
    				},'html');*/
    
    				//4.带有参数请求,请求完成后带有返回值,且设置服务器响应的数据类型。 
    				$.get('./test.php',{id: 25},function(data){
    					console.log(data); //请求的结果数据
    				},'json');
    			});
    		});
    	</script>
    </body>
    </html>
    

    上面例子中需要放在服务器端运行,并且使用了四种方式请求,当前前三种方式已注释;注意设置了服务器响应数据类型,一定要对应,否则报错。不设置数据类型,jQuery 会智能判断。

    .get() 请求的相关参数可参考文档:http://www.w3school.com.cn/jquery/ajax_get.asp

Ajax 请求 —— post
  • 定义 :通过 HTTP POST 请求从服务器载入数据。

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Post 请求</title>
    	<script src="./js/jquery.min.js"></script>
    </head>
    <style>
    	.result{
    		width:200px;
    		height: 200px;
    		border:1px #0f0 solid;
    		margin-bottom: 20px;
    	}
    </style>
    <body>
    	<form action="" id="formInfor">
    		<input type="hidden" name="id">
    		<input type="text" name="username">
    	</form>
    	<button type="button">使用 post请求 获取数据</button>
    	<div class="result"></div>
    	<script>
    		$(function(){
    			$('button').on('click',function(){
    				//使用 post 请求方式;
    				//1.简单的带参数请求,忽略返回值
    				// $.post('./test.php',{ id: "6",name: "zhaoliu" });
    				// $.post('./test.php',{ 'choices[]': ["Jon", "Susan"] }); //向服务器传递数据数组
    
    				//2.请求发送表单数据:
    				// $.post("test.php", $("#formInfor").serialize());
    				/* $.post('./test.php',function(data){
    					console.log(data); //请求的结果数据
    				});*/
    
    				//3.请求带参数,且带有返回值;
    				/* $.post('./test.php',{ id: "6",name: "zhaoliu" }, function(data){
    					console.log(data); //请求的结果数据
    				});*/
    
    				//4.请求带参数,且带有返回值,且设置服务器响应的数据类型。 
    				//类型有:xml html script json
    				$.post('./test.php',{ id: "6",name: "zhaoliu" }, function(data){
    					console.log(data); //请求的结果数据
    				},'json');
    			});
    		});
    	</script>
    </body>
    </html>
    

    上面例子中需要放在服务器端运行,并且使用了四种方式请求,当前前三种方式已注释;注意设置了服务器响应数据类型,一定要对应,否则报错。不设置数据类型,jQuery 会智能判断。

    说明:如果由 .post() 发起的请求返回错误代码,那么不会有任何提示,除非脚本已调用了全局的 .ajaxError() 方法。或者对于 jQuery 1.5,jQuery.post() 返回的 jqXHR 对象的 .error() 方法也可以用于错误处理。

    .post() 请求的相关参数可参考文档:http://www.w3school.com.cn/jquery/ajax_post.asp

Ajax 请求 —— getJSON
  • 定义:使用 HTTP GET 请求从服务器加载 JSON 编码数据。

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>getJSON 请求</title>
    	<script src="./jquery.min.js"></script>
    </head>
    <style>
    	.result{
    		width:200px;
    		height: 200px;
    		border:1px #0f0 solid;
    		margin-bottom: 20px;
    	}
    </style>
    <body>
    	<button type="button">使用 getJSON请求 获取数据</button>
    	<div class="result"></div>
    	<script>
    		$(function(){
    			$('button').on('click',function(){
    				//使用 getJSON 请求方式;
    				//1.请求不带参数,且带有返回值;
    				/* $.getJSON('./test.js',function(data){
    					console.log(data.users); //请求的结果数据
    				});*/
    
    				//2.请求带参数,且带有返回值; 
    				//类型有:xml html script json
    				$.getJSON('./test.js',{ id: "6" }, function(data){
    					console.log(data.users.name); //请求的结果数据
    				});
    			});
    		});
    	</script>
    </body>
    </html>
    

    上面例子中需要放在服务器端运行,并且使用了两种方式请求,当前第一种方式已注释;

    注意:返回数据,可以是 JavaScript 对象,或以 JSON 结构定义的数组。

    .getJSON() 请求的相关参数可参考文档:http://www.w3school.com.cn/jquery/ajax_getjson.asp

对于ajax的异步请求,除了这几种方式,有时候远远不能满足开发着的需求,那么,还有一个功能更强大,更加灵活的异步请求方法就是 —— .ajax() ; 本节先到这里,关于 .ajax() 使用请前往下一篇文档 :https://blog.csdn.net/qq_43344133

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值