jquery.ajax上传个数限制,关于jquery ajax上传的坑
@(呵呵)
今天主要介紹processData: false,
contentType: false,
這兩個參數--processData
默認情況下,通過data選項傳遞進來的數據,如果是一個對象(技術上講只要不是字符串),都會處理轉化成一個查詢字符串,以配合默認內容類型 "application/x-www-form-urlencoded"。如果要發送 DOM 樹信息或其它不希望轉換的信息,請設置為 false。
比如在文件上傳時就需要設置成false。
contentType
發送數據到服務器時所使用的內容類型。默認是:"application/x-www-form-urlencoded"。從1.6開始,可以設置為false告訴jquery不設置任何內容類型頭。
數據將總是使用UTF-8字符集傳遞給服務器;你必須在服務器端進行適當的解碼。
注意:跨域請求,設置內容類型如果設置為除了 “application/x-www-form-urlencoded”、“multipart/form-data”、“ text/plain”,將會觸發瀏覽器發送一個 preflight OPTIONS 請求到服務器。
這兩個個參數在上傳文件的時候就得設置false,而在其它情況下,就不要設置,
processData: false, 讓jQuery不要處理數據
contentType: false, 讓jQuery不要設置contentType
而且利用FormData對象,我們可以通過JavaScript用一些鍵值對來模擬一系列表單控件。比起普通的Ajax,使用FormData的最大優點就是我們可以異步上傳一個二進制文件。使用formdata這兩個必須false
其它情況,你只是普通的對象或者數組,就配合application/x-www-form-urlencoded,處理,這樣才能讓后端獲取到數據
,不然就是[object] [object]
還可以這么理解,對于簡單的對象或者數組,默認處理就好了,
而對于嵌套的,或者formdata這種,就不能讓jq給我們處理掉數據,識別不了
總結
以上是生活随笔為你收集整理的jquery.ajax上传个数限制,关于jquery ajax上传的坑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: egg.js ajax上传文件,上传图片
- 下一篇: 监控服务器项目报备,智慧环保监控预警平台