JQuery的Ajax請求實(shí)現(xiàn)局部刷新的簡單實(shí)例
請求的ajax路徑傳遞的參數(shù)(data)會(huì)到action中被一個(gè)同樣名字的變量(附帶set get方法)接收,返回的data是一個(gè)JQuery的數(shù)組對象,在被調(diào)用的action中涉及到的數(shù)據(jù)變量會(huì)對象,都會(huì)封裝到data中最終返回給頁面。
案例:如圖
我要實(shí)現(xiàn)狀態(tài)的更改,用JQuery的Ajax更改完之后圖標(biāo)發(fā)生改變,實(shí)現(xiàn)頁面的局部刷新
原理:局部刷新是刷新頁面的一部分,在此案例中實(shí)現(xiàn)的只是圖標(biāo)的改變,把后臺(tái)代碼和前臺(tái)現(xiàn)實(shí)的圖標(biāo)分離,并不是對數(shù)據(jù)庫重新做查詢,二是后臺(tái)數(shù)顯數(shù)據(jù)修改之后,前臺(tái)直接改變圖標(biāo)。
1.頁面 給每條記錄的圖標(biāo)一個(gè)唯一的id值:
<td align="center">
<s:if test="messageState == 0">
<img src="${ctx}/images/04.png" id="r${message.messageID}"/>
</s:if>
<s:else>
<img src="${ctx}/images/03.png" id="r${message.messageID}"/>
</s:else>
</td>
Ajax驗(yàn)證:給A標(biāo)簽添加的id= aUnread,再添加事件
jQuery("#aUnread").click(function(){
var strIds="";//定義一個(gè)傳遞數(shù)據(jù)的變量
$("input[name='checkbox']").each(function (){
if(this.checked){
strIds +=this.value+",";//得到的是多個(gè)id值,拼成字符串傳到action
}
});
$.ajax({
type: "post",
dataType:'json', //接受數(shù)據(jù)格式
cache:false,
data:"strIds="+strIds,
url: "${ctx}/feedbackonline/updateMessageStateUnread.action",
beforeSend: function(XMLHttpRequest){
},
success: function(data){
var str=data.str;//接收返回的數(shù)據(jù)
for(var p in str){ //遍歷接受的數(shù)組對象
var x="#r"+str[p];//獲取要改變的記錄的圖標(biāo)id
$(x).attr("src","${ctx}/images/04.png");
//把對應(yīng)的id值的圖標(biāo)src屬性值變成相應(yīng)圖標(biāo)的路徑
}
},
error: function(){
//請求出錯(cuò)處理
alert("Error!");
}
});
});
2.后臺(tái)action:
private String strIds;//省略set get 方法,自動(dòng)獲取到頁面?zhèn)鞯捻憫?yīng)的數(shù)據(jù)
private String[] str;//省略set get 方法
@Action("/updateMessageStateUnread")
public String updateMessageState() throws Exception{
String[] jStr = strIds.split(",");//把字符串拆分成字符串?dāng)?shù)組
str=jStr;//把拆分的字符串?dāng)?shù)組賦給有g(shù)et set方法的數(shù)組變量str返回到頁面上
for(int i=0;i<jStr.length;i++){
int id=Integer.parseInt(jStr[i]);
messageUserinfo=messageUserinfoManager.queryById(id);
messageUserinfo.setMessageState(0);
messageUserinfoManager.update(messageUserinfo);
}
return "ajax";
}
- jquery的ajax異步請求接收返回json數(shù)據(jù)實(shí)例
- 跨域請求之jQuery的ajax jsonp的使用解惑
- jquery ajax請求方式與提示用戶正在處理請稍等
- 為jquery的ajax請求添加超時(shí)timeout時(shí)間的操作方法
- jQuery.ajax 跨域請求webapi設(shè)置headers的解決方案
- Jquery ajax請求導(dǎo)出Excel表格的實(shí)現(xiàn)代碼
- Jquery Ajax請求文件下載操作失敗的原因分析及解決辦法
- 淺析jQuery Ajax請求參數(shù)和返回?cái)?shù)據(jù)的處理
- 教你如何終止JQUERY的$.AJAX請求
- jQuery中ajax的相關(guān)知識(shí)點(diǎn)匯總
相關(guān)文章
jquery.boxy彈出框(后隔N秒后自動(dòng)隱藏/自動(dòng)跳轉(zhuǎn))
對于 Boxy彈出框的使用之前寫過一些文章(查看jquery.boxy基礎(chǔ)),今天主要是在解決一個(gè)需要之后,覺得值得把它記錄下來,所以就再寫一篇,主要功能是,在彈出對話框后,隔N秒后自動(dòng)隱藏,還有就是自動(dòng)跳轉(zhuǎn)2013-01-01jQuery實(shí)現(xiàn)布局高寬自適應(yīng)的簡單實(shí)例
下面小編就為大家?guī)硪黄猨Query實(shí)現(xiàn)布局高寬自適應(yīng)的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05jQuery 源碼分析筆記(3) Deferred機(jī)制
從1.5版本開始,jQuery加入了Deferred功能,讓事件處理隊(duì)列更加的完善。并用這個(gè)機(jī)制重寫了Ajax模塊。雖然還沒輪到Ajax,但是接下來的事件處理函數(shù)中牽扯到了這個(gè)機(jī)制,所以提前看這段代碼。2011-06-06JQueryEasyUI datagrid框架的進(jìn)階使用
本篇文章小編為大家介紹JQueryEasyUI datagrid框架的基本使用,有需要的朋友可以參考一下2013-04-04使用delegate方法為一個(gè)tr標(biāo)簽加一個(gè)鏈接
這篇文章主要介紹了使用delegate方法為一個(gè)tr標(biāo)簽加一個(gè)鏈接,并規(guī)定當(dāng)這些事件發(fā)生時(shí)運(yùn)行的函數(shù),需要的朋友可以參考下2014-06-06JQuery的read函數(shù)與js的onload不同方式實(shí)現(xiàn)
JQuery的read函數(shù)與js的onload,想必大家對這兩個(gè)方法都有所熟悉吧,接下來介紹一個(gè)實(shí)例用以上兩種方法各自實(shí)現(xiàn),感興趣的你可不要錯(cuò)過了哈,希望可以幫助到你2013-03-03jQuery實(shí)現(xiàn)的簡單歌詞滾動(dòng)功能示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的簡單歌詞滾動(dòng)功能,結(jié)合實(shí)例形式分析了基于jQuery插件scroll.js實(shí)現(xiàn)滾動(dòng)功能相關(guān)操作技巧,涉及jQuery結(jié)合時(shí)間函數(shù)動(dòng)態(tài)操作頁面元素相關(guān)實(shí)現(xiàn)方法,需要的朋友可以參考下2019-01-01jquery實(shí)現(xiàn)表單輸入時(shí)提示文字滑動(dòng)向上效果
這篇文章主要介紹了jquery實(shí)現(xiàn)表單輸入時(shí)提示文字滑動(dòng)向上效果,涉及jquery鼠標(biāo)事件響應(yīng)及頁面元素樣式的動(dòng)態(tài)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08把html頁面的部分內(nèi)容保存成新的html文件的jquery代碼
把html頁面的部分內(nèi)容保存成新的html文件,用到了jquery的獲取指定id的內(nèi)容。然后保存代碼。2009-11-11