第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

角度 10 | 郵寄 | 字符串?dāng)?shù)組追加 FormData

角度 10 | 郵寄 | 字符串?dāng)?shù)組追加 FormData

臨摹微笑 2023-03-03 15:24:29
我必須向 api 端點(diǎn)發(fā)出發(fā)布請(qǐng)求,但我收到錯(cuò)誤狀態(tài) 500。name: "HttpErrorResponse"ok: falsestatus: 500statusText: "Internal Server Error"這是我的代碼:var selectedIds = ["31"];let sendData = new FormData();sendData.append('auth', this.dataService.REG_AUTH);sendData.append('identifier', identifier);sendData.append('selected[]', selectedIds); this.http.post<any>('APIENDPOINT', sendData).subscribe(data => {  console.log(data);}, error => {    console.log(error);});問(wèn)題出在這一行:sendData.append('selected[]', selectedIds);我不知道如何將數(shù)組傳遞給 FormData。這是我們的 android 應(yīng)用程序中的一個(gè)工作示例。我需要用 angular/typescript 語(yǔ)法轉(zhuǎn)換這個(gè)請(qǐng)求:@JvmSuppressWildcards@FormUrlEncoded@POST("APIENDPOINT")fun addData(    @Field("auth") auth: String,    @Field("identifier") identifier: String,    @Field("selected[]") selected: ArrayList<String>): Call<ResponseBody>到目前為止我所知道的:似乎角度沒(méi)有序列化數(shù)據(jù),所以我嘗試了一些硬編碼修復(fù),但這些都不起作用:sendData.append('selected%5B%5D', '%2231%22'); sendData.append('selected%5B%5D', '31');sendData.append('selected%5B%5D', 31);sendData.append('selected%5B%5D', '%5B%2231%22%5D'); sendData.append('selected%5B%5D', selectedIds); sendData.append('selected%5B%5D', JSON.stringify(selectedIds));如果我使用selected而不是selected[],那么我不會(huì)收到任何錯(cuò)誤,但顯然沒(méi)有數(shù)據(jù)更新,所以我很確定這是一個(gè)序列化/解析問(wèn)題。
查看完整描述

2 回答

?
富國(guó)滬深

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊

這個(gè)答案

FormData 的 append() 方法只能接受字符串或 blob 類型的對(duì)象。如果需要追加數(shù)組,請(qǐng)使用 JSON.stringify() 方法將數(shù)組轉(zhuǎn)換為有效的 JSON 字符串。

formData.append('selected[]', JSON.stringify(selectedIds));


查看完整回答
反對(duì) 回復(fù) 2023-03-03
?
POPMUISE

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊

這statusCode 500是Internal Server Error,是服務(wù)器端的問(wèn)題。因此,最好檢查它API是否可以收到您的請(qǐng)求。


FormData 的append()方法accept stringor blobtype 所以可以使用JSON.stringify()方法( formData.append('selectedIds', JSON.stringify(selectedIds));)。所以試試這個(gè):


let selectedIds = ["31"];

let sendData = new FormData();

sendData.append('auth', this.dataService.REG_AUTH);

sendData.append('identifier', identifier);

sendData.append('selectedIds', JSON.stringify(selectedIds)); 


this.http.post<any>('APIENDPOINT', sendData).subscribe(data => {

  console.log(data);

}, error => {  

  console.log(error);

});


查看完整回答
反對(duì) 回復(fù) 2023-03-03
  • 2 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)