AJAX常用的4种请求方式

原生的ajax请求响应如下:

 

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
function loadXMLDoc()
{
    var xmlhttp;
    if (window.XMLHttpRequest)
    {    
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
        // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            //响应
            //document.getElementById("myDiv").innerHTML=xmlhttp.responseXML;
            document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","/statics/demosource/demo_get.php",true);//1.请求方式,2.请求URL,3.请求是异步/同步
    xmlhttp.send();//发送
}
</script>
</head>
<body>

<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">Request data</button>
<div id="myDiv"></div>

</body>
</html>

<1>$.ajax()返回其创建的 XMLHttpRequest 对象:

$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。

如果你指定了dataType选项,那么需要保证服务器返回正确的MIME信息,(如 xml 返回 "text/xml")。

实例:

保存数据到服务器,成功时显示信息。 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ajax请求方式</title>
<link rel="stylesheet" href="css/main.css" type="text/css">
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
function loadJSON(){
	$.ajax({
		type:"post",
		dataType:"html",
		url:"ajax.txt",//自定义请求url
		data:$("#p1").serialize(),
		async:true,
		error:function(){
			alert("connection not!");
		},
		success:function(data){
			alert("ajax.txt="+data);
		}
	});
}
</script>
</head>
<body>
	<button type="button" onclick="loadJSON()">Update</button>
	<p id="p1">点击Update弹出窗口并显示ajax.txt文件的内容</p>
</body>
</html>

 <2>通过远程 HTTP GET 请求载入信息:

相比于复杂的$.ajax而言,GET请求功能则显得更加简单,请求成功时可调用回调函数。当然如果需要在出错时执行函数,那么还请使用$.ajax。

实例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>www.w3cschool.cn</title>
<link rel="stylesheet" href="css/main.css" type="text/css">
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
	function loadJSON() {
		$.get("ajax.txt", function(data) {
			alert("ajax.txt=" + data);
		});
	}
</script>
</head>
<body>
	<button type="button" onclick="loadJSON()">Update</button>
	<p id="p1">点击Update弹出窗口并显示ajax.txt文件的内容</p>
</body>
</html>

 <3>通过远程 HTTP POST 请求载入信息:

POST请求功能也相对比较简单,请求成功时可调用回调函数。如果需要在出错时执行函数,那么请使用 $.ajax请求。

实例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>www.w3cschool.cn</title>
<link rel="stylesheet" href="css/main.css" type="text/css">
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
	function loadJSON() {
		$.post("ajax.txt", function(data) {
			alert("ajax.txt=" + data);
		});
	}
</script>
</head>
<body>
	<button type="button" onclick="loadJSON()">Update</button>
	<p id="p1">点击Update弹出窗口并显示ajax.txt文件的内容</p>
</body>
</html>

<4>通过 HTTP GET 请求载入 JSON 数据:

实例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>www.w3cschool.cn</title>
<link rel="stylesheet" href="css/main.css" type="text/css">
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
	function loadJSON() {
		$.getJSON("ajax.txt", function(data) {
			alert("ajax.txt=" + data);
		});
	}
</script>
</head>
<body>
	<button type="button" onclick="loadJSON()">Update</button>
	<p id="p1">点击Update弹出窗口并显示ajax.txt文件的内容</p>
</body>
</html>

备注:$.ajax()、$.get()、$.post()、$.getJSON()这四个方式都是jquery封装好的方法,当然其本质仍然是JavaScript。这四个方法中都还有其他参数,以上仅仅是简略讲解。详情请度娘!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值