- 測試與服務端ajax時用的dva封裝的request方法,而后端怎么也拿不到參數。結果返現參數在request payload里。
HTTP POST表單請求提交時:Content-Typeapplication/x-www-form-urlencoded,而使用原生AJAX的POST請求如果不指定請求頭RequestHeader,默認使用的Content-Type是text/plain;charset=UTF-8。
表單提交數據是名值對的方式,而文件上傳服務器需要特殊處理,普通的post請求數據格式不固定,不一定是名值對的方式,所以服務器無法知道具體的處理方式,所以只能通過獲取原始數據流的方式來進行解析。jquery在執行post請求時,會設置Content-Type為application/x-www-form-urlencoded,所以服務器能夠正確解析,而使用原生ajax請求時,如果不顯示的設置Content-Type,那么默認是text/plain,這時不能用request.getParameter(name)的形式獲取,所以才只能通過獲取原始數據流的方式來進行解析請求數據。
2.清空數組
- 方式1,splice
var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 輸出 Array[0],空數組,即被清空了
- 方式2,length賦值為0。
這種方式很有意思,其它語言如Java,其數組的length是只讀的,不能被賦值。如int[] ary = {1,2,3,4}; ary.length = 0;Java中會報錯,編譯通不過。而JS中則可以,且將數組清空了。var ary = [1,2,3,4]; ary.length = 0; console.log(ary);// 輸出 [],空數組,即被清空了目前 Prototype中數組的 clear 和mootools庫中數組的 empty 使用這種方式清空數組。
- 方式3,賦值為[]
var ary = [1,2,3,4]; ary = [];