http请求
get:
查询字符串(名称/值对)是在 GET 请求的 URL 中发送的。
?name1=value1&name2=value2
post:
查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的。
body:
{
"schedule_id": 1, //在随机配置试卷时(接口为beginExam),返回的schedule下的id
//回答数组(数组的键与question_id一致)
"answer_info_arr": {
"2": {
"question_id": 2,
"answer": {
"image_path": "h1"
}
},
"3": {
"question_id": 3,
"answer": {
"image_path": "h2"
}
},
"6": {
"question_id": 6,
"answer": {
"image_path": "h3"
}
}
}
}
GET和POST的一些区别:
- post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)
- post发送的数据更大(get有url长度限制)
- post能发送更多的数据类型(get只能发送ASCII字符)
- post比get慢
- post用于修改和写入数据,get一般用于搜索排序和筛选之类的操作(淘宝,支付宝的搜索查询都是get提交),目的是资源的获取,读取数据
对象与数组?
在这次项目联调中,用到了GET、POST的请求,其中也认识到了自己基础的不足。如对象与数组的转化…在没遇到联调之前,觉得对象与数组也就这样的东西。。。遇到了之后发现自己对与这两个概念的非常模糊。
Array
- 数组对象是一个有序的数据(数据可以是 原始类型 或 对象类型)集合。相对于变量,数组可用于在一个变量中存储多个变量值。
Object
- 成对的名称(字符串)与值(任何值),其中名称通过冒号与值分隔。
有了这两个概念,就又衍生出了数组对象,对象数组的概念。以前没有接触实际项目,没有数组对象,对象数组的实际项目的应用。然后对于数组、对象如何拼接成数组对象,对象数组,以及之间的拷贝、转换等等。。
项目中用到的一些方法,做个记录。
Object.assign:
将数组转换为对象可以用Object.assign({},arr)
.
forEach:
对数组的每个元素执行一次提供的函数。
this.donePicture.forEach(item => {
obj[item.id] = {
question_id: item.id,
answer: {
'image_path': item.image_path
}
}
})
for...in:
以任意顺序遍历一个对象的可枚举属性。(循环遍历的时候,把对象的数字属性名排在前面,并且排列的时候按照数字由小到大排列,非数字的属性名按照之前编写的顺序排列。)
for (var i in this.radio) {
let obj = {
[i]: {
'question_id': i * 1,
'answer': {
'right_index': this.radio[i]
}
}
}
dataArray.push(obj)
}