一,http请求方法:
按照不常用的方式排序:
1,OPTIONS
:返回服务器针对特定资源所支持的http请求方法,也可以向web服务器发送“*”来测试 服务器的功能性(不包含实体)
2,CONNECT
:HTTP/1.1中预留给能够将链接改为管道方式的代理服务器(不包含实体)
3,TRANCE
:对可能经过代理服务器传送到服务器上的报文将进行跟踪(不包含实体)
4,DELETE
:请求服务器输出Request-url所标识的资源(不包含实体)
5,PUT
:向指定的资源上传其最新的内容(包含实体)
6,POST
:向指定的资源提交数据进行处理请求(例如提交表单或者是上传文件)。POST请求可能会导致新的资源创建或者是已有资源的修改。(包含实体)
7,HEAD
:向服务器索要与GET请求相一致的响应,只响应首部,响应体不会被返回。HEAD 方法与GET 方法的行为很类似,但服务器在 响应中只返回首部。不会返回实体的主体部分。这就允许客户端在未获取实际资源的情况下,对资源的首部进行检查。
使用HEAD,可以:在不获取资源的情况下了解资源的情况(比如,判断其类型),通过查看响应中的状态码,看看某个对象是否存在,通过查看首部,测试资源是否被修改了。(不包含实体)
8,GET
:向特定的资源发送请求(不包含实体)
二,Ajax请求方式:
1.原生Ajax:
get方式:
<script type="text/javascript">
function btnClick() {
//创建核心对象
xmlhttp = null;
if (window.XMLHttpRequest) {// code for Firefox, Opera, IE7, etc.
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//编写回调函数
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
alert(xmlhttp.responseText)
}
}
//open设置请求方式和请求路径
xmlhttp.open("get", "/Ajax/ajax2?username=张三");//一个servlet,后面还可以写是否同步
//send 发送
xmlhttp.send();
}
</script>
post方式:
<script type="text/javascript">
function btnClick() {
//创建核心对象
xmlhttp = null;
if (window.XMLHttpRequest) {// code for Firefox, Opera, IE7, etc.
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//编写回调函数
xmlhttp.onreadystatechange = function() {
/* alert(xmlhttp.readyState); */
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
alert(xmlhttp.responseText)
}
/* alert(123); */
}
//open设置请求方式和请求路径
xmlhttp.open("post", "/Ajax/ajax2");//一个servlet,后面还可以写是否同步
//设置请求头
xmlhttp.setRequestHeader("content-type", "application/x-www-form-urlencoded")
//send 发送
xmlhttp.send("username=张三");
}
</script>
2.JQuery Ajax:
$.ajax({
url:url, //地址
type:'post', //请求方式 还可以是get type不可写成Type 不让会导致数据发送不过去,使用post无法接受
dataType:'html', //返回格式 ,还可以是json
async:false, //同步异步 ,一般为异步flase
data:{"id":"value"}, //参数值
beforesend:function(){ // 请求前的处理
},
success:function(){ //请求成功时的处理
},
complete:function(){ //请求完成时的处理
},
error:function(){ //请求出错误时的处理
}
});
3.Axios请求:
get请求:
axios.get('/user', {
params: {
ID: 12345
}
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
4.Fetch请求:
fetch(url)
// 返回response
.then((response)=> {return response.json()})
// 获取数据
.then((data)=> {
data = data.ret;
// 更新数据状态
this.setState({
attr:{
cn_name:data[0][1],
en_name: data[1][1]
}
})
})
// 捕获异常
.catch((e)=> {console.log(e)})
}
post请求:
axios.post('/user', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
5.Request请求:
wx.request({
url: 'http://192.168.1.103/yiji/skillList.php',
method: 'POST',
data:data:{
'pageSize':'18',
'pageNum':'10'
}, //参数为json格式数据
header: {
//设置参数内容类型为x-www-form-urlencoded
'content-type':'application/x-www-form-urlencoded',
'Accept': 'application/json'
},
success: function (res) {
console.log(res.data)
that.setData({
items: res.data
})
}
})