基于jquery實(shí)現(xiàn)ajax無(wú)刷新評(píng)論
jquery實(shí)現(xiàn)ajax無(wú)刷新評(píng)論需要用的技術(shù):(本次試驗(yàn)用的是“jquery-1.4.2.js”版本的jquery)
$.post("一般處理程序路徑",{以字典的形式傳遞參數(shù)},function(data,status){``````});
jquery中的基本選擇器操作;
首先創(chuàng)建數(shù)據(jù)庫(kù)“T_article”:
主鍵設(shè)置自增;

然后創(chuàng)建一個(gè)強(qiáng)類型的DataSet。
接著創(chuàng)建一個(gè)“無(wú)刷新評(píng)論.aspx”頁(yè)面:
頁(yè)面代碼如下:
<div> <h2>文章:</h2> <p>this a text!this a text!this a text!this a text!this a text!this a text!this a text!this a text! this a text!this a text!this a text!this a text!this a text!this a text!this a text!this a text!this a text! this a text!this a text!this a text!this a text!this a text!this a text!</p> <ul id="pinglunlist"> </ul> </div> <textarea id="msg" style="margin-left:20px;" cols="40" rows="10"></textarea> <input id="btnpinglun" type="button" value="評(píng)論" />
然后創(chuàng)建兩個(gè)一般處理程序WSXPL.ashx(用來(lái)插入數(shù)據(jù)的處理程序)和WSXPL1.ashx(用來(lái)獲取所有評(píng)論數(shù)據(jù)的處理程序);
WSXPL.ashx中的代碼如下:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string msg = context.Request["msg"];
new T_articleTableAdapter().Insert(context.Request.UserHostAddress, msg, DateTime.Now); //創(chuàng)建一個(gè)強(qiáng)類型的實(shí)例,然后調(diào)用Insert()函數(shù)插入;
context.Response.Write("ok");
}
WSXPL1.ashx中的代碼如下:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
var datas = new T_articleTableAdapter().GetData(); //返回的是一個(gè)DataTable
StringBuilder sb = new StringBuilder(); //創(chuàng)建StringBuilder更加方便的搜集數(shù)據(jù)
foreach (var data in datas) //用foreach方法遍歷DataTable
{//實(shí)現(xiàn)字符串的拼接;每行數(shù)據(jù)用$隔開(kāi),每行數(shù)據(jù)的每個(gè)元素用|隔開(kāi);有利于前臺(tái)解析數(shù)據(jù);
sb.Append(data.ipaddress).Append("|").Append(data.msg).Append("|").Append(data.posttime).Append("$");
}
context.Response.Write(sb);
}
做完這些步驟,操作數(shù)據(jù)庫(kù)的部分就已經(jīng)完成了?,F(xiàn)在只要在前臺(tái)把一般處理程序返回的數(shù)據(jù)解析一下并附加的相應(yīng)的位置就可以了!
首先在前臺(tái)引用“jquery-1.4.2.js”jquery庫(kù);然后開(kāi)始編寫js腳本;
$(function () {
$.post("WSXPL1.ashx", function (data, status) { //通過(guò)WSXPL1.ashx獲取所有的評(píng)論內(nèi)容
if (status == "success") {
var result = data.split("$"); //按照$分割字符串
for (var i = 0; i < result.length - 1; i++) {
var msg = result[i];
var line = msg.split("|"); //按照|分割字符串
var pinglun = $("<li>用戶ID:" + line[0] + "; 評(píng)論內(nèi)容:" + line[1] + "; 評(píng)論時(shí)間:" + line[2] + "</li>");
$("#pinglunlist").append(pinglun); //把得到的評(píng)論結(jié)果追加到ul元素上
}
}
else {
alert("ajax錯(cuò)誤!");
}
})
$("#btnpinglun").click(function () { //設(shè)置btn事件
var msg = $("#msg").val();
$.post("ashx/WSXPL.ashx", { "msg": msg }, function (data, status) {
if (status == "success") {
if (data == "ok") {
$.post("WSXPL1.ashx", function (data, status) { //為了實(shí)現(xiàn)評(píng)論的時(shí)候評(píng)論內(nèi)容會(huì)自動(dòng)的添加到ul上
if (status == "success") {
var result = data.split("$");
var msg = result[result.length - 2]; //獲取最后一條評(píng)論
var line = msg.split("|");
var pinglun = $("<li>用戶ID:" + line[0] + "; 評(píng)論內(nèi)容:" + line[1] + "; 評(píng)論時(shí)間:" + line[2] + "</li>");
$("#pinglunlist").append(pinglun); //把最后一條評(píng)論追加到ul上
}
else {
alert("ajax錯(cuò)誤!");
}
})
alert("評(píng)論成功!");
}
else {
alert("評(píng)論失??!");
}
}
})
})
})
做完這些直接運(yùn)行就可以了!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
- jquery 新浪網(wǎng)易的評(píng)論塊制作
- jquery實(shí)現(xiàn)仿新浪微博評(píng)論滾動(dòng)效果
- jQuery實(shí)現(xiàn)的簡(jiǎn)單無(wú)刷新評(píng)論功能示例
- jQuery 實(shí)現(xiàn)評(píng)論等級(jí)好評(píng)差評(píng)特效
- JQuery實(shí)現(xiàn)動(dòng)態(tài)添加刪除評(píng)論的方法
- PHP結(jié)合jQuery實(shí)現(xiàn)的評(píng)論頂、踩功能
- jQuery基于ajax實(shí)現(xiàn)星星評(píng)論代碼
- C#使用jQuery實(shí)現(xiàn)無(wú)刷新評(píng)論提交的方法
- 基于jQuery實(shí)現(xiàn)的美觀星級(jí)評(píng)論打分組件代碼
- jQuery實(shí)現(xiàn)簡(jiǎn)單評(píng)論區(qū)
相關(guān)文章
jQuery調(diào)用AJAX時(shí)Get和post公用的亂碼解決方法實(shí)例說(shuō)明
js調(diào)用AJAX時(shí)Get和post的亂碼解決辦法以前有寫過(guò)的但是使用js代碼比較繁瑣,下面與大家分享下使用jQuery該怎么解決,遇到類似情況的朋友可以參考下哈2013-06-06
jQuery EasyUI右鍵菜單實(shí)現(xiàn)關(guān)閉標(biāo)簽/選項(xiàng)卡
這篇文章主要介紹了jQuery EasyUI右鍵菜單實(shí)現(xiàn)關(guān)閉標(biāo)簽/選項(xiàng)卡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
javascript向后臺(tái)傳送相同屬性的參數(shù)即數(shù)組參數(shù)
在傳送參數(shù)時(shí),經(jīng)常會(huì)碰到向后臺(tái)傳送一些相同屬性的參數(shù),最好的選擇是采用數(shù)組的方式,下面有個(gè)不錯(cuò)的示例,大家可以參考下2014-02-02
基于Jquery的開(kāi)發(fā)個(gè)代陰影的對(duì)話框效果代碼
基于Jquery的開(kāi)發(fā)個(gè)代陰影的對(duì)話框效果代碼,需要的朋友可以參考下。2011-07-07
jquery實(shí)現(xiàn)帶縮略圖的全屏圖片畫廊效果實(shí)例
這篇文章主要介紹了jquery實(shí)現(xiàn)帶縮略圖的全屏圖片畫廊效果,實(shí)例分析了jquery帶縮略圖的全屏效果圖片實(shí)現(xiàn)技巧,并附有完整的源碼下載,需要的朋友可以參考下2015-06-06
jQuery實(shí)現(xiàn)的導(dǎo)航動(dòng)畫效果(附demo源碼)
這篇文章主要介紹了jQuery實(shí)現(xiàn)的導(dǎo)航動(dòng)畫效果,可實(shí)現(xiàn)導(dǎo)航條的底部橫條隨鼠標(biāo)移動(dòng)的效果,涉及jQuery針對(duì)鼠標(biāo)事件的響應(yīng)及頁(yè)面元素樣式動(dòng)態(tài)變換的相關(guān)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-04-04
超好用的jQuery分頁(yè)插件jpaginate用法示例【附源碼下載】
這篇文章主要介紹了超好用的jQuery分頁(yè)插件jpaginate用法,結(jié)合實(shí)例形式簡(jiǎn)單分析了jQuery分頁(yè)插件jpaginate的基本調(diào)用方式、參數(shù)屬性及配置方法,并附帶源碼供讀者下載,需要的朋友可以參考下2018-12-12
jquery操作select option 的代碼小結(jié)
jquery操作select option 的代碼小結(jié),需要的朋友可以參考下。2011-06-06
jQuery實(shí)現(xiàn)dialog設(shè)置focus焦點(diǎn)的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)dialog設(shè)置focus焦點(diǎn)的方法,涉及jQuery針對(duì)dialog的操作技巧,需要的朋友可以參考下2015-06-06
jquery插件unobtrusive實(shí)現(xiàn)片段式加載
本文給大家分享的是使用jquery插件unobtrusive實(shí)現(xiàn)片段式加載,效果非常不錯(cuò),有需要的小伙伴可以參考下。2015-06-06

