本章给大家介绍什么是http,http请求方式和传递数据类型是什么?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
什么是HTTP?
http全称(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。
http的请求方式:
1. GET,通过请求URI得到资源
2. POST,用于添加新的内容
3. PUT用于修改某个内容
4. DELETE,删除某个内容
5. PATCH,部分文档更改
get请求
一般数据都在URL传参,params:data
例:
Request URL:http://api.anjianba.cn/api/Training/Query
或者:
Request URL:http://api.anjianba.cn/api/Training/Query/23
{ name:"Myname",
{
types:[1,3],
forms:[2,5]
}
}如果传递比较复杂的数据时,Query String Parameters,后台不喜欢处理这种数据
正常的处理之后:
Request URL:http://api.anjianba.cn/api/Training/Query?planName=&startTime=&endTime=&types[]=1&types[]=3
需要这种形式的:
技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作
Request URL:http://api.anjianba.cn/api/Training/Query?planName=&startTime=&endTime=&types=1&types=3
在jQuery中是设置 traditional:true,即可转换为如上数据类型。
axios的config中设置:
get(url, data = {}, options = {}) {
let config = {
params: data,
headers: {、、、},
{
'paramsSerializer': function(params) {
return qs.stringify(params, {
indices: false
})
// return qs.stringify(params, { arrayFormat: "repeat" })
},
...options
}
return new Promise((resolve, reject) => {
axios.get(url, config)
.then(response => {
resolve(response.data);
})
.catch((error) => {
reject(error);
})
})
}
post、put、delet请求
提交这种复杂类型数据:
{ name:"Myname",
{
types:[1,3],
forms:[2,5]
}
}一般的数据提交类型为json:
对应的数据声明类型: 'Content-Type':'application/json'
序列化:JSON.stringify(data) json字符串
还有就是 FormData 类型:
对应的数据声明类型: 'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8'
序列化:qs.stringify(data) ids[]=27&ids[]=26 ==> ids%5B0%5D=27&ids%5B1%5D=2








