學習js的一些筆記

2021-08-09 09:51:49 字數 1160 閱讀 6558

上面的這兩個繫結方法,第二個不能正常執行,第乙個能正常執行。第二個:$(document).ready()在dom節點載入完之後,資料載入之前就立刻執行了,因此後面($(this).val())你取不到值,因為此時資料還沒有載入到dom節點裡面去。第二個能正常執行,因為on是在dom全部載入完畢且資料也載入完畢後才執行繫結的。$(function(){}) 和$(document).ready()以及直接在script標籤裡寫函式是等價的,因為在dom節點載入完後就執行,因此,呼叫沒載入的值和沒載入的別的地方的函式都會出錯。

還有就是json字串和json物件的問題,後端返回來的是個json字串,如果要用的話必須先轉成json物件才能用,如上圖用json.parse來轉換,如果ajax標定了datatype是json或者用了$getjson方法的話,那jquery自動轉了可以直接使用。關於json物件和字串互轉問題可以參看

關於error和success函式的問題:

這兩個函式都是請求這個動作成功或失敗來執行的,成功執行success函式,失敗執行error函式,只要後端沒報異常,就不會執行error也就是說,連線超時,後端丟擲異常,404等服務錯誤才會才error 執行,而返回錯誤碼這種並不會讓error執行,error在執行時,會把伺服器端拋的異常catch住,可以抓住丟擲異常的和errmsg。error的第乙個引數是xhr物件,sucess則是返回的資料,二者的第二個引數都是status:但二者都只有success乙個值。

下面是執行error函式列印出來的xhr和status:

可見會把異常資訊和請求引數都記錄下來。狀態竟然也是success困惑,不過還好用處不大。

說說一些ajax常用請求的引數:

type:post/get請求的型別

data:

processdata:

上面兩個簡單來說就是,最終請求的資料都會轉換成』a=1&b=2』這種格式,你可以直接這麼寫,也可以寫成陣列讓processdata轉換。序列化表單的值這樣可以把表單直接搞成上面的樣子:

async:預設true是非同步的

datatype:

jquery 遍歷的方法:

each會遍歷所有li元素,生成乙個li元素物件,each裡面的函式會作用於每乙個物件。 

js的一些使用筆記

重新整理當前頁面 window.location.reload 跳轉到其他頁面 jquery ajax 寫法 ajax success function data 彈窗延時自動關閉小工具 layer 2.使用 layer.msg 彈窗 延遲兩秒關閉 參考 效果如圖 模板引擎thymeleaf無法識別...

JS中陣列的一些筆記

今天工作時碰到乙個需求,有兩個陣列arraychild,arrayfather,要求 1 往陣列arraychild中放入乙個元素 2 將當前的陣列arraychild放入arrayfather中 3 清空陣列arraychild,將乙個新元素放進去 4 將放了新元素的arraychild放入陣列a...

js學習筆記之陣列Array的一些特性

陣列是js中重要的資料型別,在以後的開發中會經常碰到它,其實陣列也是物件。var myarray a b c var myobject myarray 繼承自 array.prototype,myobject繼承自object.prototype,他們都有很多有用的方法,也有很多類似,當然也有不同。...