多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > jscript > Jquery Ajax 操作javascript全局變量

Jquery Ajax 操作javascript全局變量

來源:程序員人生   發布時間:2013-12-28 10:32:51 閱讀次數:2946次

問題:

在用ASP.NET結合JQuery+Ashx加載留言系統的時候,按分頁讀取出來的留言數據中提取出來留言ID再做一次Ajax去查詢該留言對應的回復內容。具體代碼如下:

var str; /*   載入留言  */
var loadguest = function() {
    $.ajax({
        url: '/Ashx/GetMsgs.ashx',
        type: "GET",
        data: { page: page },   //  第幾頁
        dataType: 'json',
        beforeSend: function() {
        },
        error: function() {
            ;
        },
        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去查詢對應的回復,對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=';' title='點擊回復' onlick='Submit(" + n.ID + ")'>回復</a> <a href=';' title='取消回復' 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='點擊給我發郵件' class='msg_a'><img src='images/email.gif' /></a> <a href='#' title='點擊訪問我的網站' class='msg_a'><img src='images/home.gif' /></a> <span class='msg_manager'> <a name='" + n.ID + "' href=';' title='點擊回復該留言' onclick='ShowRly(" + n.ID + ")' class='msg_a'><img src='images/reply.gif' /></a> <a name='" + n.ID + "' href=';' title='點擊刪除該留言信息' onclick='DeleteMsg(" + n.ID + ")' class='msg_a'><img src='images/recycle.gif' /></a> </span></td>";
                    str += "</table>";
                });
                $("#contact_msg").append(str);               
            }
            else {
                ;
            }

 

        }
    })
}

/*   加載留言回復內容  */

var GetMsgRly = function(MsgID) {
    $.ajax({
        url: '/Ashx/GetMsgRly.ashx',
        type: "GET",
        data: { MsgID: MsgID },
        dataType: 'json',
        beforeSend: function() {

        },
        error: function() {
            ;
        },
        success: function(rly) {
            if (rly != "0") {
                var rlydata = rly.table;
                rlystr = "";
                $.each(rlydata, function(i, r) {

                   /*   在這里對str進行操作離開該方法之后對str的操作就丟失了,但是實際上對應內容能夠讀寫出來,用alert()能顯示內容*/
                    str += "<span class='Msg_rly'><span class='Msg_rly_line'></span>";
                    str += "<span class='msg_rly_manager'>管理員回復:</span><br/>";
                    str += "<span class='Msg_rly_content'>" + r.Content + "</span> ";
                    str += "<span class='Msg_rly_Dt'>于" + r.Dt + "</span></span>";
                });                
            }
        }
    });

}

 結果是:留言記錄能夠讀取出來的,但對應的留言回復內容卻讀取不出來!

PS:留言表和留言回復表存在不同的表中,通過留言表的主鍵ID進行關聯。

不要質疑我后臺代碼,留言和留言內容是能夠讀取出來的,只是對str讀寫無效而已。

各位幫幫忙,為什么會這樣呢?有什么辦法能夠解決?

回答:

代碼執行到這里 GetMsgRly(n.ID) 不會等到 返回結果之后再執行 這個函數以后的內容

因為 GetMsgRly(n.ID) 為異步

把GetMsgRly(n.ID) 放在$("#contact_msg").append(str); 后 執行

然后在 指定的 html 容器里附加進 GetMsgRly(n.ID) 里的內容

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 91精品久久久久亚洲国产 | 亚洲成aⅴ人在线观看 | 欧美日本一级在线播放 | 国产欧美成人一区二区三区 | 日产精品一区二区三区免费 | 春色精品视频在线播放 | 国内自拍视频在线看免费观看 | 久久综合久久综合久久 | 叼嘿视频在线免费观看 | 国产高清在线精品免费不卡 | 成人精品一区二区三区中文字幕 | 欧美午夜色大片在线观看免费 | 男人和女人全黄一级毛片 | 国产综合在线观看视频 | 精品热线九九精品视频 | 久久精品视频7 | 日韩欧美综合在线二区三区 | 男女视频网站在线观看 | 亚洲an日韩专区在线 | 亚洲欧美日韩国产色另类 | 亚洲天堂久久新 | 国产国语一级毛片在线放 | 国产一级理论免费版 | 国产一区二区三区久久 | 国产v精品成人免费视频71sao | baoyu116.永久免费视频入口 | 精品国产免费人成在线观看 | a亚洲视频| 亚洲乱码视频在线观看 | 毛片一级在线观看 | 久久国产欧美另类久久久 | 好爽好大www视频在线播放 | 一区二区三区四区在线视频 | 国产在线播放成人免费 | 国产亚洲一级精品久久 | 波多野结衣久久一区二区 | 精品日韩欧美一区二区三区 | 欧美精品 在线播放 | 国产精品高清一区二区三区 | 亚洲精品影院久久久久久 | 毛片免费毛片一级jjj毛片 |