angular 介面請求不到資料的問題

2021-08-17 06:20:13 字數 772 閱讀 8246

最近在用ng5公升級ext的老專案,發現post請求一直請求不到資料,最終發現原因是資料格式的問題。

伺服器介面接收的是form表單格式,而前端post請求傳送的是json資料格式。比如下面這個請求:

this.http.post(`$/data/list.json`, req, headers);
export const headers = ;
httpheaders在例項化的時候預設生成的是json資料格式,如果要生成form表單格式的話,需要下面這樣寫:

僅僅是更改了請求頭是不夠的,傳送form表單格式的資料需要將資料進行序列化,也就是拼接字串(如果使用jquery的ajax方法,它會在內部幫我們處理),手動拼接的話可以用下面的方式:

export function getformdata(obj)  else if (value instanceof object || value instanceof array)  else if (value !== null || value !== undefined || value !== '') 

});return str.length ? str.substr(0, str.length - 1) : str;

}

最終的post請求如下:

php curl 介面請求

通過url獲取頁面資訊 param string url 位址 return string 返回頁面資訊 function get url url 模擬post提交 param string url 位址 param string data 提交的資料 return string 返回結果 func...

RestClient(介面請求)

一 電子簽章 通過介面,傳入引數中有pdf檔案,和其他引數,在檔案上蓋上電子簽章。引入 通過nuget安裝restsharp,注意版本。備註 如果後面程式執行有錯,可以看是引用是否更改了web.config檔案 一般會更改newtonsoft.json的版本 電子簽章 蓋章 為1 表示報名確認函 為...

RestTemplate介面請求總結

使用getforentity呼叫介面,返回結果呼叫getstatuscode 方法取得httpstatus物件,然後就可以呼叫裡面的各種方法來滿足你的需求了 判斷介面返回是否為200 public static boolean ping catch exception e 二 什麼都不帶,將引數拼接...