您好,登錄后才能下訂單哦!
使用ajax怎么動態獲取數據庫中的數據?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
首先我這用的框架是SSM,代碼就開始了:
這是寫在前臺的方法里一個點擊事件進入方法里我就不寫那么麻煩了直接ajax部分代碼:
$.ajax({//這就開始進入ajax了 type:"get",//這個我也忘了,好像是類似格式吧,基本是死的不需要改動 dataType:"json",//這個是將字符串轉換成json格式 cache:false,//不曉得 data:"staffName="+staffName+"&staffGender="+staffGender,//這兩個就是我要向后臺傳的值,之前已經拿到了,staffName和Gender就是對象的屬性名,也可以隨意起 url:"<%=request.getContextPath()%>/staffGet", //這個是路徑,staffGet是我在視圖層聲明的名字我想你們應該知道mapping吧 complete:function(msg){ //如果你們僅僅只是向后臺傳值就不需要下面的代碼了,如果有返回值,比如name查找數據庫所有相同name并在前臺接收就需要下面的代碼 $("#read").html(""); //在這里是因為我點擊一次就自動把查到的信息添加,會重復,所以才有的在賦值之前把原本的信息刪除,請參考這串代碼倒數第二行你就懂了 $("[id=read]").remove();//這是把原本的ID刪除只有這樣才能清空原本的信息,ID存在會顯示一個空的td,這一行和上一行與該文章沒有關系,只是項目需要,可以沒有 var data = eval("(" + msg.responseText + ")"); //這就是將后臺傳過來的數據并交給data這個對象 $.each(data["list"],function(i,item){//遍歷這個數據,我在后臺發送數據給的KEY是list,所以才有data["list"],變量名隨你傳送的map的KEY變化而變化詳情請看后臺代碼 var Name="<tr id='"+item.staffId+"tr'><td id='"+item.staffId+"Name'>"+item.staffName+"</td>"; //這里我用一個字符串向tr和td賦值,ID最后一行改了是為了綠色注解部分 $("#staffget").append(Name); //然后將字符串插入表格中,具體插入方式可以參考ajax的API,有appendTo等多種方式,按情況參考 $("#"+item.staffId+"tr").attr("id","read"); //在這里將所有tr的ID改成read,為了我點擊多次從后臺取值不會出現多次重復,點一次刪除所有Id為read的
前臺代碼缺括號,有)},具體缺哪個自行查找
現在開始后臺代碼,因為懶得找就隨意找了一個
@RequestMapping("/JurisdictionGet") //這里就是我在之前ajax里url的路徑,詳情請看ajax--url我有解釋 @ResponseBody //這是因為使用了ajax必須要聲明的注解 public Object JurisdictionGet(Jurisdiction jurisdiction) throws Exception //因為使用了ajax所以方法必須使用Object類型的方法,參數列表就是前臺發送回來的 數據,如果想在后臺用對象接收,前臺傳值時,定義的參數名必須是你這個對象的屬性名,才可以像我這樣接收,如果不同就用String接收,但參數名必須和前臺定義的一樣 { Map<String, Object> map = new HashMap<String, Object>(); //這個map是在前臺需要有返回值時存在的,獲取數據庫的值通過它傳給前臺用key取值 map.put("list", JurisdictionServices.JurisdictionGet(jurisdiction)); //定義的KEY為list,value里的數據是我調用的Services層,主要邏輯都寫在哪里,就不發了,和以前大家的用法都差不多,因為是查多個,所以返回的是LIST數據,懂吧?不懂 可以在評論問我,我回復大家 return map;//將這個map發送出去,再往后的參考前臺就行,解釋的很清楚了,不懂的可以問我,我只要會,就一定解 答大家 }
ajax是一種在無需重新加載整個網頁的情況下,能夠更新部分網頁的技術,可以通過在后臺與服務器進行少量數據交換,使網頁實現異步更新。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。