1. 程式人生 > >http請求、陣列、物件

http請求、陣列、物件

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)
}