百度開放平臺呼叫人臉識別等api問題
阿新 • • 發佈:2018-12-21
-
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))
-
文字識別(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傳送的請求引數
正確的應該為
介面會報取不到值