1. 程式人生 > >百度開放平臺呼叫人臉識別等api問題

百度開放平臺呼叫人臉識別等api問題

  1. v3介面中人臉識別api文件中提示 請求體格式化:Content-Type為application/json,通過json格式化請求體。 在使用json格式請求體時會發送預檢請求option,由於我使用的是axios時,設定header 的Content-Type不起作用option請求無法設定,介面直接報錯,無請求引數,debug裡顯示如下

    Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response
    

    解決方法: Content-Type: application/x-www-form-urlencoded,不會發起預檢請求

    // 方法1
    axios.post(url,JSON.stringify(data))
    // 方法2
    axios.post(url,data,{
              headers:{
                'Content-Type': 'application/json'
              }
            })
    // 方法3
    axios.post(url,Qs.stringify(data))
    
  2. 文字識別(OCR)中 文件提示使用 Content-Type: application/x-www-form-urlencoded,這時只能使用方法3;方法1和方法2不能使用 Json.stringify和Qs.stringify有區別

    Qs.stringify(a)
    // 'name=hehe&age=10'
    JSON.stringify(a)
    // '{"name":"hehe","age":10}'
    

    Qs.stringify是將物件 序列化成URL的形式 JSON.stringify是將物件轉化為字串

方法1和方法2傳送的請求引數 在這裡插入圖片描述

正確的應該為 在這裡插入圖片描述

介面會報取不到值 在這裡插入圖片描述