各位園友,小弟在用JQuery中的ajax部分遇到一個問題:
在用ASP.NET結(jié)合JQuery+Ashx加載留言系統(tǒng)的時候,按分頁讀取出來的留言數(shù)據(jù)中提取出來留言ID再做一次Ajax去查詢該留言對應(yīng)的回復(fù)內(nèi)容。具體代碼如下:
var str;
/*?? 載入留言? */var loadguest = function() {??? $.ajax({??????? url: '/Ashx/GetMsgs.ashx',??????? type: "GET",??????? data: { page: page },?? //? 第幾頁??????? dataType: 'json',??????? beforeSend: function() {??????? },??????? error: function() {??????????? alert('獲取系統(tǒng)留言失敗');??????? },??????? success: function(msg) {??????????? $("#contact_msg").empty();??????????? if (msg != "0") {??????????????? var data = msg.table;??????????????? str = "";??????????????? $.each(data, function(i, n) {??????????????????? str += "<table width='100%' border='1' cellpadding='0' cellspacing='0' class='msg_table'>";??????????????????? str += "<tr>";??????????????????? str += "<td width='20%' rowspan='3' align='center' valign='top' class='tr_img'><p class='msg_ID'>ID:" + n.ID + "</p>";??????????????????? str += "<img class='msg_headimg' src='" + n.Head + "' width='100' height='100'/><br/>";??????????????????? str += "<span class='msg_name'>" + n.CustName + "</span><br/>";??????????????????? str += "<span class='msg_ip'>" + n.IP + "</span></td>";??????????????????? str += " <td width='80%' height='20' valign='middle'><span class='msg_title'>" + n.Title + "</span><span class='msg_date'>" + n.Dt + "</span></td>";??????????????????? str += "</tr><tr>";??????????????????? str += "<td height='120' valign='top' class='msg' id='msg_id" + n.ID + "'><p>" + n.Content + "</p>";??????????????????? GetMsgRly(n.ID);?? //通過留言記錄的ID去查詢對應(yīng)的回復(fù),對str進行讀寫??????????????????? str += "<div id='msg_rly" + n.ID + "' class='rly'><textarea name='textarea' id='textarea" + n.ID + "' cols='45' rows='5'></textarea>";??????????????????? str += "<a href='javascript:;' title='點擊回復(fù)' onlick='Submit(" + n.ID + ")'>回復(fù)</a> <a href='javascript:;' title='取消回復(fù)' onclick='CancelRly(" + n.ID + ")' id='Cancel" + n.ID + "'>取消</a> </div></td>";??????????????????? str += "<tr><td height='20' valign='middle'><a href='#' title='點擊和我聊天' class='msg_a'><img src='images/oicq.gif' /></a> <a href='#' title='點擊給我發(fā)郵件' class='msg_a'><img src='images/email.gif' /></a> <a href='#' title='點擊訪問我的網(wǎng)站' class='msg_a'><img src='images/home.gif' /></a> <span class='msg_manager'> <a name='" + n.ID + "' href='javascript:;' title='點擊回復(fù)該留言' onclick='ShowRly(" + n.ID + ")' class='msg_a'><img src='images/reply.gif' /></a> <a name='" + n.ID + "' href='javascript:;' title='點擊刪除該留言信息' onclick='DeleteMsg(" + n.ID + ")' class='msg_a'><img src='images/recycle.gif' /></a> </span></td>";??????????????????? str += "</table>";??????????????? });??????????????? $("#contact_msg").append(str);??????????????? ??????????? }??????????? else {??????????????? alert("0");??????????? }
??????? }??? })}
/*?? 加載留言回復(fù)內(nèi)容? */
var GetMsgRly = function(MsgID) {??? $.ajax({??????? url: '/Ashx/GetMsgRly.ashx',??????? type: "GET",??????? data: { MsgID: MsgID },??????? dataType: 'json',??????? beforeSend: function() {
??????? },??????? error: function() {??????????? alert('獲取系統(tǒng)留言回復(fù)失敗');??????? },??????? success: function(rly) {??????????? if (rly != "0") {??????????????? var rlydata = rly.table;??????????????? rlystr = "";??????????????? $.each(rlydata, function(i, r) {
???????????????????/*?? 在這里對str進行操作離開該方法之后對str的操作就丟失了,但是實際上對應(yīng)內(nèi)容能夠讀寫出來,用alert()能顯示內(nèi)容*/??????????????????? str += "<span class='Msg_rly'><span class='Msg_rly_line'></span>";??????????????????? str += "<span class='msg_rly_manager'>管理員回復(fù):</span><br/>";??????????????????? str += "<span class='Msg_rly_content'>" + r.Content + "</span> ";??????????????????? str += "<span class='Msg_rly_Dt'>于" + r.Dt + "</span></span>";??????????????? });??????????????????????????? }??????? }??? });
}
?
結(jié)果是:留言記錄能夠讀取出來的,但對應(yīng)的留言回復(fù)內(nèi)容卻讀取不出來!
PS:留言表和留言回復(fù)表存在不同的表中,通過留言表的主鍵ID進行關(guān)聯(lián)。
不要質(zhì)疑我后臺代碼,留言和留言內(nèi)容是能夠讀取出來的,只是對str讀寫無效而已。
各位幫幫忙,為什么會這樣呢?有什么辦法能夠解決?非常感謝?。。。?!
?
Jquery Ajax 操作javascript全局變量
慕村225694
2018-12-07 02:01:13