溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用ajax怎么動(dòng)態(tài)獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)

發(fā)布時(shí)間:2021-05-18 16:43:23 來(lái)源:億速云 閱讀:496 作者:Leah 欄目:web開發(fā)

使用ajax怎么動(dòng)態(tài)獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

首先我這用的框架是SSM,代碼就開始了:

這是寫在前臺(tái)的方法里一個(gè)點(diǎn)擊事件進(jìn)入方法里我就不寫那么麻煩了直接ajax部分代碼:

$.ajax({//這就開始進(jìn)入ajax了

type:"get",//這個(gè)我也忘了,好像是類似格式吧,基本是死的不需要改動(dòng)

dataType:"json",//這個(gè)是將字符串轉(zhuǎn)換成json格式

cache:false,//不曉得

data:"staffName="+staffName+"&staffGender="+staffGender,//這兩個(gè)就是我要向后臺(tái)傳的值,之前已經(jīng)拿到了,staffName和Gender就是對(duì)象的屬性名,也可以隨意起

url:"<%=request.getContextPath()%>/staffGet", //這個(gè)是路徑,staffGet是我在視圖層聲明的名字我想你們應(yīng)該知道m(xù)apping吧

complete:function(msg){ //如果你們僅僅只是向后臺(tái)傳值就不需要下面的代碼了,如果有返回值,比如name查找數(shù)據(jù)庫(kù)所有相同name并在前臺(tái)接收就需要下面的代碼

$("#read").html(""); //在這里是因?yàn)槲尹c(diǎn)擊一次就自動(dòng)把查到的信息添加,會(huì)重復(fù),所以才有的在賦值之前把原本的信息刪除,請(qǐng)參考這串代碼倒數(shù)第二行你就懂了

$("[id=read]").remove();//這是把原本的ID刪除只有這樣才能清空原本的信息,ID存在會(huì)顯示一個(gè)空的td,這一行和上一行與該文章沒(méi)有關(guān)系,只是項(xiàng)目需要,可以沒(méi)有

var data = eval("(" + msg.responseText + ")"); //這就是將后臺(tái)傳過(guò)來(lái)的數(shù)據(jù)并交給data這個(gè)對(duì)象

$.each(data["list"],function(i,item){//遍歷這個(gè)數(shù)據(jù),我在后臺(tái)發(fā)送數(shù)據(jù)給的KEY是list,所以才有data["list"],變量名隨你傳送的map的KEY變化而變化詳情請(qǐng)看后臺(tái)代碼

 var Name="<tr id='"+item.staffId+"tr'><td id='"+item.staffId+"Name'>"+item.staffName+"</td>"; //這里我用一個(gè)字符串向tr和td賦值,ID最后一行改了是為了綠色注解部分

$("#staffget").append(Name); //然后將字符串插入表格中,具體插入方式可以參考ajax的API,有appendTo等多種方式,按情況參考

$("#"+item.staffId+"tr").attr("id","read"); //在這里將所有tr的ID改成read,為了我點(diǎn)擊多次從后臺(tái)取值不會(huì)出現(xiàn)多次重復(fù),點(diǎn)一次刪除所有Id為read的

前臺(tái)代碼缺括號(hào),有)},具體缺哪個(gè)自行查找

現(xiàn)在開始后臺(tái)代碼,因?yàn)閼械谜揖碗S意找了一個(gè)

@RequestMapping("/JurisdictionGet") //這里就是我在之前ajax里url的路徑,詳情請(qǐng)看ajax--url我有解釋

@ResponseBody //這是因?yàn)槭褂昧薬jax必須要聲明的注解

public Object JurisdictionGet(Jurisdiction jurisdiction) throws Exception //因?yàn)槭褂昧薬jax所以方法必須使用Object類型的方法,參數(shù)列表就是前臺(tái)發(fā)送回來(lái)的 數(shù)據(jù),如果想在后臺(tái)用對(duì)象接收,前臺(tái)傳值時(shí),定義的參數(shù)名必須是你這個(gè)對(duì)象的屬性名,才可以像我這樣接收,如果不同就用String接收,但參數(shù)名必須和前臺(tái)定義的一樣

 {

Map<String, Object> map = new HashMap<String, Object>(); //這個(gè)map是在前臺(tái)需要有返回值時(shí)存在的,獲取數(shù)據(jù)庫(kù)的值通過(guò)它傳給前臺(tái)用key取值

map.put("list", JurisdictionServices.JurisdictionGet(jurisdiction)); //定義的KEY為list,value里的數(shù)據(jù)是我調(diào)用的Services層,主要邏輯都寫在哪里,就不發(fā)了,和以前大家的用法都差不多,因?yàn)槭遣槎鄠€(gè),所以返回的是LIST數(shù)據(jù),懂吧?不懂 可以在評(píng)論問(wèn)我,我回復(fù)大家

return map;//將這個(gè)map發(fā)送出去,再往后的參考前臺(tái)就行,解釋的很清楚了,不懂的可以問(wèn)我,我只要會(huì),就一定解 答大家

 }

什么是ajax

ajax是一種在無(wú)需重新加載整個(gè)網(wǎng)頁(yè)的情況下,能夠更新部分網(wǎng)頁(yè)的技術(shù),可以通過(guò)在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI