ajax數據請求傳一個數組對象類型的值不成功的理解!


遇到這個問題的時候也找了好多網絡資源,網上大多說的是傳數組有兩種方式:一是拼接字符串;二是請求是使用傳統模式traditional:true

引自(https://blog.csdn.net/CrazyLai1996/article/details/76165971)(https://blog.csdn.net/u011734144/article/details/53836906/

大多數是采用第二種方式的答案,但是對於我的請求采用此方法沒有解決。

最后通過415報錯找到contentTypeapplication/x-www-form-urlencoded不允許;

最后通過查找資料了解到:

contentType 主要設置你發送給服務器的格式,dataType設置你收到服務器數據的格式。

##而contentType默認格式就是application/x-www-form-urlencoded

這種格式的特點就是,name/value 成為一組,每組之間用 & 聯接,而 namevalue 則是使用 = 連接。這種傳遞只能是簡單的鍵值對格式傳遞,也就是簡單的不帶嵌套的json格式;但是復雜情況下,要傳一個復雜的json格式數組嵌套對象,對象中包含數組或者對象嵌套數組,數組中包含對象等,application/x-www-form-urlencoded是沒有辦法將復雜的json組織成鍵值對形式的。{ a: 1, b: 2, c: 3 }

##contentTypeapplication/json;這種類型是text,我們ajax的復雜json數據用 JSON.stringify序列化后,然后發送,在服務器端接到然后用 JSON.parse 進行還原就行了,這樣就能處理復雜的對象了。

{ data: { a: [{ x: 2 }] } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM