亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

AngularJS - $ http.post發送請求參數而不是JSON的任何方式?

AngularJS - $ http.post發送請求參數而不是JSON的任何方式?

holdtom 2019-07-25 19:18:01
AngularJS - $ http.post發送請求參數而不是JSON的任何方式?我有一些舊的代碼通過jQuery的post方法發出一個AJAX POST請求,看起來像這樣:$.post("/foo/bar", requestData,     function(responseData)     {         //do stuff with response     }requestData 只是一個具有一些基本字符串屬性的javascript對象。我正在將我們的東西移動到使用Angular,我想用$ http.post替換這個調用。我想出了以下內容:$http.post("/foo/bar", requestData).success(     function(responseData) {         //do stuff with response     }});當我這樣做時,我收到了來自服務器的500錯誤響應。使用Firebug,我發現這樣就發送了請求體:{"param1":"value1","param2":"value2","param3":"value3"}成功的jQuery $.post發送身體像這樣:param1=value1&param2=value2&param3=value3我遇到的端點是期望請求參數而不是JSON。所以,我的問題是,無論如何要告訴$http.post發送javascript對象作為請求參數而不是JSON?是的,我知道我可以自己從對象構造字符串,但我想知道Angular是否提供了開箱即用的東西。
查看完整描述

3 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

來自AngularJS文檔:

params - {Object。} - 在url之后將轉向的字符串或對象的映射?key1 = value1&key2 = value2。如果該值不是字符串,則它將是JSONified。

因此,提供字符串作為參數。如果您不想這樣,那么使用轉換。再次,從文檔:

要在本地覆蓋這些轉換,請將轉換函數指定為config對象的transformRequest和/或transformResponse屬性。要全局覆蓋默認轉換,請覆蓋$ httpProvider的$ httpProvider.defaults.transformRequest和$ httpProvider.defaults.transformResponse屬性。

有關詳細信息,請參閱文檔


查看完整回答
反對 回復 2019-07-25
  • 3 回答
  • 0 關注
  • 1030 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號