- GET - 从指定的资源请求数据
- POST - 向指定的资源提交要处理的数据
GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。
POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。
ajax_GET发起请求步骤
1、实例化AJAX对象
var ajaxObj = new XMLHttpRequest();
2、第二步:设置发送请求的参数
?//参数1:发送请求的方式 ???????//参数2:发送请求的url(包括数据) ???????//参数3:异步(true)/同步(false) ???????ajaxObj.open("GET","1ajax_get.php?name=sfk&age=不知道",true);
3、发送请求
ajaxobj.send();
4、监听ajax状态变化
???????ajaxObj.onreadystatechange = function () { ???????????//第五步:判断是否成功 ???????????//(1)网络状态值,成功为4 ???????????//0——(未初始化)还没有调用send() ???????????//1——(正在载入)已经调用send(),正在发送请求 ???????????//2——(载入完成)已经接收全部内容 ???????????//3——(交互)解析内容 ???????????//4——(完成)内容解析完成,可以返回数据 ???????????//(2)状态码,成功为200 ???????????if(ajaxObj.readyState == 4 && ajaxObj.status == 200){ ???????????????//第六步:接收返回数据 ???????????????// console.log(JSON.parse(ajaxObj.responseText)); ???????????????console.log(ajaxObj.responseText); ???????????????//JSON.parse:字符串转json ???????????????//JSON.stringify:json转字符串 ???????????????// var newDiv = ?document.createElement("div"); ???????????????// newDiv.innerHTML = ajaxObj.responseText; ???????????????// document.body.appendChild(newDiv); ???????????} ???????}
后台php代码
//超级全局变量$_GET是系统提供的一个关联数组//用于放 前端通过get请求传递过来的数据$userName = $_GET["name"];$userAge = $_GET["age"];//json_encode:数组转json格式的字符串//json_decode:json格式的字符串转数组echo json_encode(array( ???"n"=>$userName, ???"a"=>$userAge));
注意:get请求传递数据的方式,在请求的url后拼接?数据&数据
ajax_POST发起请求步骤
POST请求与GET请求相比多了个请求头,参数的发送方式也不同
???????var ajaxObj = new XMLHttpRequest(); ???????ajaxObj.open("POST","2ajax_post.php",true); ???????//设置请求头 ???????//注意:需要设置在open和send中间 ???????//application/x-www-form-urlencoded:被编码为名称/值对。这是标准的编码格式 ???????//multipart/form-data:被编码为一条消息 ???????//text/plain:以纯文本形式编码 ???????ajaxObj.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded"); ???????ajaxObj.send("name=gg&address=地球"); ???????ajaxObj.onreadystatechange = function () { ???????????if(ajaxObj.readyState == 4 && ajaxObj.status == 200){ ???????????????console.log(JSON.parse(ajaxObj.responseText)); ???????????} ???????} ???????//POST传参:在send中进行传递参数
后台php代码
//超级全局变量 ?$_POST//接收post请求传递的参数$userName = $_POST["name"];$userAddress = $_POST["address"];//返回给前端json格式的字符串echo json_encode(array( ???"n"=>$userName, ???"a"=>$userAddress));
AJAX get() 和 post() 方法
原文地址:https://www.cnblogs.com/heson/p/10014471.html