• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    Ajax添加數(shù)據(jù)與刪除篇實(shí)現(xiàn)代碼

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:52:28
    文檔

    Ajax添加數(shù)據(jù)與刪除篇實(shí)現(xiàn)代碼

    Ajax添加數(shù)據(jù)與刪除篇實(shí)現(xiàn)代碼:如果你真的把前幾篇掌握了.實(shí)現(xiàn)ajax刪除功能會(huì)易如反常.我所要教你的是.靈活利用JavaScript和Dom來(lái)實(shí)現(xiàn)一個(gè)酷酷的刪除效果.其實(shí)你學(xué)習(xí)到這里.已經(jīng)能夠明白,在ajax技術(shù)中那些被請(qǐng)求的 服務(wù)端網(wǎng)頁(yè),在非ajax應(yīng)用中并無(wú)太大區(qū)別.無(wú)非也是接受前端發(fā)過(guò)來(lái)的
    推薦度:
    導(dǎo)讀Ajax添加數(shù)據(jù)與刪除篇實(shí)現(xiàn)代碼:如果你真的把前幾篇掌握了.實(shí)現(xiàn)ajax刪除功能會(huì)易如反常.我所要教你的是.靈活利用JavaScript和Dom來(lái)實(shí)現(xiàn)一個(gè)酷酷的刪除效果.其實(shí)你學(xué)習(xí)到這里.已經(jīng)能夠明白,在ajax技術(shù)中那些被請(qǐng)求的 服務(wù)端網(wǎng)頁(yè),在非ajax應(yīng)用中并無(wú)太大區(qū)別.無(wú)非也是接受前端發(fā)過(guò)來(lái)的

    如果你真的把前幾篇掌握了.實(shí)現(xiàn)ajax刪除功能會(huì)易如反常.我所要教你的是.靈活利用JavaScript和Dom來(lái)實(shí)現(xiàn)一個(gè)酷酷的刪除效果.其實(shí)你學(xué)習(xí)到這里.已經(jīng)能夠明白,在ajax技術(shù)中那些被請(qǐng)求的 服務(wù)端網(wǎng)頁(yè),在非ajax應(yīng)用中并無(wú)太大區(qū)別.無(wú)非也是接受前端發(fā)過(guò)來(lái)的請(qǐng)求.在后臺(tái)執(zhí)行一些操作而已!學(xué)習(xí)完這篇教程以后.你會(huì)明白想要實(shí)現(xiàn)夠炫夠酷的的ajax效果.你必須要熟練掌握J(rèn)avaScript Dom 這些技術(shù)精通.
    剛剛我喝多了,上面的這段話是我在兩天前就寫好的.我本來(lái)想直接睡覺(jué)的.但我想試試.是不是在我喝酒之后,我能夠講的更好.
    其實(shí)我覺(jué)得在我酒醉迷離的時(shí)候更能很好的將我的知識(shí)傳授與你.今天的添加效果與前一篇的添加數(shù)據(jù)一樣.但今天的刪除效果或許是你從未看到過(guò)的.想要?jiǎng)h除那條數(shù)據(jù).請(qǐng)單擊他.然后點(diǎn)擊刪除按扭.這跟桌面應(yīng)用程序并無(wú)二樣.a(chǎn)jax就是這樣的神奇.不然 他不會(huì)被全世界的Web開發(fā)人員所追求!還是先看實(shí)例吧.你會(huì)為此而感到驚訝的!
    代碼如下:

    <html>
    <head>
    <title>ajax無(wú)刷新添加與刪除數(shù)據(jù)</title>
    <style>
    body{
    font-size:12px;
    }
    table{
    border-collapse:collapse;

    }
    </style>
    </head>
    <body>
    為顯示更流暢,我們只讀取數(shù)據(jù)庫(kù)內(nèi)最新的10條數(shù)據(jù).由于在線測(cè)試人數(shù)多.都在操作一個(gè)數(shù)據(jù)庫(kù).可能會(huì)出現(xiàn)并發(fā)情況!
    <hr/>
    輸入內(nèi)容:<input id="str" type="input" /> <input type="button" value="確定添加" onclick="add_Post()"/>
    <span id="msg" style="color:red"></span>
    <table border="1"><!--該表格用來(lái)顯示數(shù)據(jù)內(nèi)容-->
    <tbody id="a"></tbody>
    </table>
    <span style="color:red">操作提示:請(qǐng)用鼠標(biāo)單擊你想要?jiǎng)h除的數(shù)據(jù).然后點(diǎn)擊刪除按扭!</span>
    <input id="hid_id" type="hidden" />
    <input type="button" value="刪除數(shù)據(jù)" onclick="del_Data()" />
    <script type="text/javascript">
    function ajax_xmlhttp(){
    //在IE中創(chuàng)建xmlhttpRequest,適用于IE5.0以上所有版本
    var msXmlhttp = new Array("Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP");
    for(var i=0; i<msXmlhttp.length; i++){
    try
    {
    _xmlhttp=new ActiveXObject(msXmlhttp[i]);
    }
    catch(e)
    {
    _xmlhttp=null;
    }
    } //循環(huán)創(chuàng)建基于IE瀏覽器的xmlhttp.結(jié)束
    //如果非IE瀏覽器,則創(chuàng)建基于FireFox等瀏覽器的xmlhttpRequest
    if(!_xmlhttp && typeof XMLHttpRequest != "undefined")
    {
    _xmlhttp=new XMLHttpRequest();
    }
    return _xmlhttp;
    }

    //讀取數(shù)據(jù)函數(shù)
    function Read(){
    var ajax = ajax_xmlhttp(); //將xmlhttprequest對(duì)象賦值給一個(gè)變量.
    ajax.open("post","Add_Del_Data.asp?action=read",true);//設(shè)置請(qǐng)求方式,請(qǐng)求的網(wǎng)頁(yè),url的action參數(shù)為read,異步請(qǐng)求
    ajax.onreadystatechange = function(){//你也可以這里指定一個(gè)已經(jīng)寫好的函數(shù)名稱
    if(ajax.readyState == 4){//數(shù)據(jù)返回成功
    if(ajax.status == 200){//http請(qǐng)求狀態(tài)碼返回ok
    var xmlData = ajax.responseXML;//以xml格式接收返回的數(shù)據(jù),并保存在xmlData變量里
    var list = xmlData.getElementsByTagName("list");//在返回的數(shù)據(jù)里,獲取所有l(wèi)ist標(biāo)簽
    if(list.length!=0){
    var t = document.getElementById("a");//獲取展示數(shù)據(jù)的表格
    while(t.rows.length!=0){ //在讀取數(shù)據(jù)時(shí)如果表格已存行.一律刪除
    t.removeChild(t.rows[0]);
    }
    for(var i=0;i<list.length;i++){
    var tr = t.insertRow(t.rows.length);//有幾個(gè)list就為表格增加幾行.
    tr.setAttribute("id",list[i].childNodes[0].firstChild.nodeValue);
    tr.onclick = function(e){add_Event(e)};
    var td = tr.insertCell(0);
    td.innerHTML = list[i].childNodes[1].firstChild.nodeValue;
    }
    }
    }
    }
    }
    ajax.send(null);//提交請(qǐng)求,參數(shù)為null
    }

    window.load = Read();

    function add_Event(e){
    e = e || window.event;
    var elem = e.target || e.srcElement;
    if(elem.tagName == "TD"){
    elem = elem.parentNode;
    }
    var table = elem.parentNode;
    for(var i=0;i<table.rows.length;i++){
    table.rows[i].style.background="";
    }
    elem.style.background="#999ccc";
    document.getElementById("hid_id").value = elem.id;
    }

    //刪除數(shù)據(jù)函數(shù)
    function del_Data(){
    var mesage = document.getElementById("msg");//獲取顯示操作信息的span
    mesage.innerHTML="正在刪除請(qǐng)稍候......";
    var table = document.getElementById("a");//獲取要顯示數(shù)據(jù)的表格
    if(table.rows.length == 0){
    mesage.innerHTML = "表格內(nèi)沒(méi)有數(shù)據(jù)可供刪除!";
    return;
    }
    var id = document.getElementById("hid_id");
    if(id.value.length == 0){
    mesage.innerHTML = "您還沒(méi)有選擇數(shù)據(jù)!";
    return;
    }
    var ajax = ajax_xmlhttp();//定義xmlhttprequest對(duì)象
    ajax.open("post","Add_Del_data.asp?action=del",true);//設(shè)置請(qǐng)求方式,請(qǐng)求文件,異步請(qǐng)求

    var param = "id="+escape(id.value);//獲取要?jiǎng)h除數(shù)據(jù)的id

    ajax.onreadystatechange = function(){
    if(ajax.readyState==4){
    if(ajax.status==200){
    var xml = ajax.responseXML;
    var msg = xml.getElementsByTagName("msg")[0].firstChild.nodeValue;
    if(msg == 0){
    mesage.innerHTML = "成功刪除數(shù)據(jù)!";
    var tr = document.getElementById(id.value);//獲取當(dāng)前選擇的行
    tr.parentNode.removeChild(tr);//引用該行的父元素.然后刪除該行.
    id.value="";//刪除完成清空文本框里的值,
    }
    if(msg == 1){
    mesage.innerHTML = "服務(wù)端發(fā)生錯(cuò)誤,刪除失敗!";
    }
    }
    }
    }
    ajax.setRequestHeader("content-type","application/x-www-form-urlencoded");
    ajax.send(param);
    }

    //提交數(shù)據(jù)函數(shù)
    function add_Post(){
    var msgaes = document.getElementById("msg");//用來(lái)顯示提示信息
    var str = document.getElementById("str");//接收輸入的內(nèi)容
    if(str.value.length == 0){
    msgaes.innerHTML = "不接受空內(nèi)容!"
    return;
    }
    msgaes.innerHTML = "正在提交";
    var ajax = ajax_xmlhttp();//定義xmlhttprequest對(duì)象
    ajax.open("post","Add_Del_data.asp?action=add",true);//設(shè)置請(qǐng)求方式,請(qǐng)求文件,異步請(qǐng)求

    var param = "str="+escape(str.value);//獲取你輸入的內(nèi)容,注意這里的str,服務(wù)端將接收str中的值
    ajax.onreadystatechange = function(){
    if(ajax.readyState==4){
    if(ajax.status==200){
    var msg = ajax.responseXML.getElementsByTagName("msg");//獲取服務(wù)端返回的msg標(biāo)簽
    if(msg[0].firstChild.nodeValue == 0){
    var max_num = ajax.responseXML.getElementsByTagName("count")[0].firstChild.nodeValue;

    var t = document.getElementById("a");
    var tr = t.insertRow(0);
    tr.setAttribute("id",max_num);
    tr.onclick = function(e){add_Event(e)};
    var td = tr.insertCell(0);
    td.innerHTML = str.value;
    str.value = "";
    msgaes.innerHTML = "添加完成";
    }
    else if(msg[0].firstChild.nodeValue == 3){
    msgaes.innerHTML = "不接受空的內(nèi)容";
    return;
    }
    else if(msg[0].firstChild.nodeValue == 1){
    msgaes.innerHTML = "服務(wù)端發(fā)生錯(cuò)誤,數(shù)據(jù)添加失敗!";
    return;
    }
    else{
    msgaes.innerHTML = "該實(shí)例供學(xué)習(xí)使用.請(qǐng)不要惡意輸入.謝謝!";
    }
    }
    }
    }
    ajax.setRequestHeader("content-type","application/x-www-form-urlencoded");//注意向服務(wù)端提交數(shù)據(jù),必須設(shè)置該頭.否則服務(wù)端會(huì)接收不到
    ajax.send(param);//注意send方法向服務(wù)端提交param變量中的內(nèi)容.
    }
    </script>
    <a target="_blank">腳本之家+</a>
    </body>
    </html>

    怎么樣效果是不是很酷?上面的文本框里是前臺(tái)的html源碼.我們先來(lái)講一下我們?cè)谇岸烁闪耸裁矗畯腷ody標(biāo)簽開始講起.


    一段友情提示的文字.告訴你會(huì)出現(xiàn)些什么情況!
    添加數(shù)據(jù)的文本框和按扭!用來(lái)向服務(wù)端數(shù)據(jù)庫(kù)寫入數(shù)據(jù)內(nèi)容.
    一個(gè)span標(biāo)簽.ID為msg,用來(lái)顯示你當(dāng)前操作的信息
    一個(gè)表格.表格內(nèi)有tbody元素,id為a.用來(lái)顯示讀取到的數(shù)據(jù).你可以在表格內(nèi)選擇要?jiǎng)h除的數(shù)據(jù).
    一個(gè)隱藏的輸入框.當(dāng)你選擇數(shù)據(jù)時(shí).會(huì)把該數(shù)據(jù)的id值放到輸入框里.刪除時(shí)引用這個(gè)值.提交給服務(wù)端
    刪除數(shù)據(jù)按扭.定義了一個(gè)onclick單擊事件.del_Data()函數(shù).向服務(wù)發(fā)送刪除指令
    下面進(jìn)入script腳本部份.script里面有5個(gè)自定義函數(shù).分別是:ajax_xmlhttp(),Read(),add_Event(),del_Data(),add_Post().我們來(lái)一一講解函數(shù)的作用.

    1、ajax_xmlhttp();創(chuàng)建一個(gè)可用的XMLHTTPRequest對(duì)象,如果你還不知道什么是XMLHTTPRequest,請(qǐng)參閱:XMLHTTPRequest
    2、Read();讀取數(shù)據(jù)函數(shù).前幾篇教程中都有講過(guò)ajax讀取數(shù)據(jù).我只講今天讀取過(guò)程中的重點(diǎn),先看下服務(wù)端網(wǎng)頁(yè)

    輸出的xml.a(chǎn)dd_del_data.asp?action=read.從服務(wù)端傳回的xml數(shù)據(jù)里獲取所有的list標(biāo)簽以后.我們先使用getElementById方法獲取到了存放數(shù)據(jù)的表格.然后循環(huán)遍歷這些list 標(biāo)簽.每個(gè)list代表一條數(shù)據(jù).每個(gè)list內(nèi)包含著2個(gè)子元素.第1個(gè)子元素內(nèi)存儲(chǔ)著該條數(shù)據(jù)的id值,第2個(gè)子元素內(nèi)存儲(chǔ)著該條數(shù)據(jù)的文本內(nèi)容.好,我們來(lái)看下Read()函數(shù)中for循環(huán)里的語(yǔ)句:
    (1):var tr = t.insertRow(t.rows.length);每循環(huán)一個(gè)list便為表格增加一行.因?yàn)楸砀竦拿恳恍酗@示一條數(shù)據(jù).并返回對(duì)該行的引用.
    (2):tr.setAttribute("id",list[i].childNodes[0].firstChild.nodeValue);為新增的行設(shè)置一個(gè)id屬性.并為該屬性指定一個(gè)值.注意,這里是重點(diǎn).list[i].childNodes[0].firstChild.nodeValue這句的意思是要獲取每條數(shù)據(jù)中id字段的值.也就是該條數(shù)據(jù)的id值.我們將這個(gè)值寫給tr的id屬性.以方便我們用鼠標(biāo)點(diǎn)擊了某行以后來(lái)引用這個(gè)id.
    (3):tr.onclick=function(e){add_Event(e)};緊接著再為新增的行綁定一個(gè)自定義函數(shù).函數(shù)的名稱是add_Event();
    (4):var td.tr.insertCell(0);為新的增添加一列.并返回對(duì)該列的引用.
    (5):td.innerHTML = list[i].childNodes[1].firstChild.nodeValue;在該列中寫入第i個(gè)list的第2個(gè)子元素中的文本內(nèi)容.也就是content字段里的內(nèi)容了
    我們把每條數(shù)據(jù)的id設(shè)定給表格中每一行的id屬性.把每條數(shù)據(jù)中的content中的文本內(nèi)容填寫到每一行中的單元格內(nèi).至此整個(gè)數(shù)據(jù)的顯示過(guò)程已完成!
     
    3、add_Event(e);我們?cè)赗ead函數(shù)內(nèi)向表格的每一行綁定了該函數(shù).并利用閉包技術(shù)向addEvent傳遞了事件對(duì)象.該函數(shù)的作用就是找出你單擊的行.并獲得該行數(shù)據(jù)的id:
    (1):e = e || window.event;標(biāo)準(zhǔn)化事件對(duì)象.FF等瀏覽器利用參數(shù)傳遞,IE可直接使用window.event.
    (2):var elem = e.target || e.srcElement; 請(qǐng)參閱:target或srcElement.標(biāo)準(zhǔn)化觸發(fā)事件的元素.是那個(gè)元素觸發(fā)了該事件.在這里的意思是說(shuō):你點(diǎn)擊了表格中的那一行.但事實(shí)上我取到的是TD,而并非TR.這應(yīng)該是傳說(shuō)中的事件捕獲和冒泡所致.沒(méi)關(guān)系我們使用tagName判斷一下 如果是TD,則取該TD的父元素.這下肯定是TR了吧.呵呵.
    (3):var table = elem.parentNode;取TR的父元素.就是那個(gè)tbody.并返回對(duì)tbody的引用.
    (4):使用一個(gè)for循環(huán)遍歷tbody中所有的行.將每行的背景顏色設(shè)置為空.
    (5):elem.style.background="#999000";循環(huán)完畢以后.為你點(diǎn)擊的這一行添加一個(gè)背景色.
    (6):document.getElementById("hid_id").value = elem.id;獲取網(wǎng)頁(yè)中那個(gè)隱藏的文本框.并將你點(diǎn)擊的這一行的id寫入到文本框內(nèi).該行的id屬性值.正是你選取數(shù)據(jù)的id值.而且每點(diǎn)擊一行.這個(gè)文本框里的值都會(huì)隨著你點(diǎn)擊的行而改變.而我們?cè)谔峤粍h除的函數(shù)里正是引用的該文本框里的值.

    4、del_Data();該函數(shù)的作用:把被刪除的數(shù)據(jù)的ID提交給服務(wù)端請(qǐng)求的網(wǎng)頁(yè).然后根據(jù)服務(wù)端返回的一個(gè)msg標(biāo)簽.來(lái)判斷數(shù)據(jù)是否被成功刪除.老規(guī)矩我只講以前沒(méi)有涉及過(guò)的內(nèi)容:
    (1):點(diǎn)擊刪除按扭啟用del_Data()函數(shù).我們先找出id為msg的span標(biāo)簽.然后寫一段操作信息.告訴你正在刪除數(shù)據(jù).
    (2):獲取要存放數(shù)據(jù)的表格.也就是那個(gè)id為a的tbody.判斷tbody中是否有數(shù)據(jù).如果tbody中沒(méi)有任何數(shù)據(jù).則告訴你沒(méi)有數(shù)據(jù)可供選擇.然后退出函數(shù).不再往下執(zhí)行.
    (3):獲取那個(gè)隱藏的文本框.并判斷文本框是否有值.如果為空顯示一段提示信息.退出函數(shù).不再執(zhí)行!如果有值存在則證明你選擇了某條數(shù)據(jù).下面的ajax會(huì)將你選擇的這條數(shù)據(jù)提交給服務(wù)端網(wǎng)頁(yè)進(jìn)行刪除
    (4):關(guān)于ajax是如何提交和回收數(shù)據(jù)的.請(qǐng)參閱"ajax初試之讀取數(shù)據(jù)篇"與"ajax讀取數(shù)到表格".
    (5):del_Data()重點(diǎn)是這里:判斷服務(wù)端傳回那個(gè)msg標(biāo)簽.如果該標(biāo)簽的內(nèi)容為0,則代表服務(wù)端工作一切順利,數(shù)據(jù)已被成功刪除.
    (6):數(shù)據(jù)被成功刪除以后:var tr = document.getElementById(id.value);獲取當(dāng)前選擇的行.
    (7):tr.parentNode.removeChild(tr);//引用該行的父元素tbody,刪除該行!
    至此刪除數(shù)據(jù)完成.其經(jīng)過(guò)是接受服務(wù)端發(fā)回來(lái)的信號(hào).如果刪除成功,則刪除前端選擇的表格行.如果失敗則給出提示信息!
    5、add_Post();該函數(shù)與上一篇中基本一樣.提交添加的數(shù)據(jù)給服務(wù)端.唯一不同的地方是:當(dāng)數(shù)據(jù)被成功添加以后.我們又調(diào)用了Read();函數(shù)來(lái)讀取新的數(shù)據(jù).因?yàn)槲覀儽仨氁@得新添加數(shù)據(jù)的正確id,以便我們可以正確刪除!
    好了,前端的代碼已經(jīng)講解完了.
    下面是本次ajax實(shí)例教程請(qǐng)求的服務(wù)端網(wǎng)頁(yè)源碼:
    代碼如下:


    <!--#include file="Conn.Asp"-->
    <%
    '出自:http://Www.Web666.Net
    '作者:康董
    '如需轉(zhuǎn)載請(qǐng)務(wù)必保留以上信息
    '定義一個(gè)變量,來(lái)保存xml數(shù)據(jù)
    xml="<?xml version='1.0' encoding='gb2312'?><body>"
    action=Request.QueryString("action") '使用get方式接受一個(gè)action來(lái)判斷客戶端想要執(zhí)行什么操作
    Select case action
    case "read" '如果為read則執(zhí)行讀取數(shù)據(jù)的操作
    Call Read
    case "add" '如果為add則執(zhí)行添加數(shù)據(jù)
    Call Add_Data
    case "del" '如果為del則執(zhí)行刪除數(shù)據(jù)的操作
    Call Del_Data
    case else
    xml = xml&"<msg>請(qǐng)求參數(shù)錯(cuò)誤,請(qǐng)不要試圖非法操作!</msg>"
    End Select
    xml=xml&"</body>"
    Response.Clear
    Response.ContentType="text/xml"
    Response.CharSet="gb2312"
    Response.write xml
    Response.End


    Sub Read '定義一個(gè)讀取數(shù)據(jù)的過(guò)程
    Call OpenConn '打開數(shù)據(jù)庫(kù)鏈接
    Sql = "Select top 10 * From del_table order by id desc" '打開數(shù)據(jù)庫(kù)中名字為del_table的表
    Set Rs = Conn.Execute(Sql) '執(zhí)行Sql語(yǔ)句,并將sql的索引賦值給rs變量

    While Not Rs.Eof '如果表中有數(shù)據(jù).則一直循環(huán)讀取
    xml = xml&"<list>" '每讀取一條數(shù)據(jù)則創(chuàng)建一個(gè)list標(biāo)簽
    xml = xml&"<id>"&Rs("id")&"</id>" 'id字段內(nèi)容
    xml = xml&"<content>"&Rs("content")&"</content>" 'content字段內(nèi)容
    xml = xml&"</list>" '每讀完一條數(shù)據(jù),就閉合list標(biāo)簽
    Rs.MoveNext '執(zhí)行下一條數(shù)據(jù)的讀取
    Wend '如果數(shù)據(jù)庫(kù)中沒(méi)有了數(shù)據(jù).則結(jié)束循環(huán)
    Close_Conn '關(guān)閉數(shù)據(jù)庫(kù)鏈接
    End Sub

    Sub Add_Data '添加數(shù)據(jù)過(guò)程
    On Error Resume Next '如果發(fā)生錯(cuò)誤繼續(xù)執(zhí)行程序
    OpenConn '打開數(shù)據(jù)庫(kù)鏈接

    str = Trim(Request.Form("str")) '接收客戶端傳過(guò)來(lái)的str內(nèi)容
    If str = "" Then
    xml = xml&"<msg>3</msg>" '如果提交的內(nèi)容為空.返回3
    Exit Sub '退出過(guò)程
    End If

    Sql = "Insert Into del_table (content) values ('"&str&"')"
    Conn.Execute(Sql) '執(zhí)行添加數(shù)據(jù)
    If Err.Number = 0 Then '判斷是否有錯(cuò)誤發(fā)生,
    xml = xml&"<msg>0</msg>" '如果沒(méi)有錯(cuò)誤發(fā)生,則證明數(shù)據(jù)已經(jīng)成功.返回0
    Else
    xml = xml&"<msg>1</msg>" '如果發(fā)生錯(cuò)誤.則證明有錯(cuò)誤發(fā)生.?dāng)?shù)據(jù)很可能添加失敗
    End If
    Close_Conn
    End Sub

    Sub Del_Data '刪除數(shù)據(jù)過(guò)程
    On Error Resume Next
    OpenConn
    id = Request("id")
    Sql = "Delete From del_table where id="&id
    Conn.Execute(sql)
    If Err.Number = 0 Then
    xml = xml&"<msg>0</msg>"
    Else
    xml = xml&"<msg>1</msg>"
    End If
    Close_Conn
    End Sub
    %>

    我在服務(wù)端使用的是Asp

    輸出xml格式數(shù)據(jù)技術(shù).我在前幾篇都有講解.你可以使用php,.net,Jsp輕松模擬出來(lái).
    (!--#include file="Conn.Asp"--)是我的數(shù)據(jù)庫(kù)鏈接文件.為保安全我不透露數(shù)據(jù)庫(kù)名字.本次讀取的表名是:del_table  字段為:ID,Content
    今天就講到這里,有什么不明白地方.請(qǐng)加 ajax技術(shù)交流群:110167482
    下一篇我們講:ajax讀取數(shù)據(jù)之分頁(yè)顯示篇

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Ajax添加數(shù)據(jù)與刪除篇實(shí)現(xiàn)代碼

    Ajax添加數(shù)據(jù)與刪除篇實(shí)現(xiàn)代碼:如果你真的把前幾篇掌握了.實(shí)現(xiàn)ajax刪除功能會(huì)易如反常.我所要教你的是.靈活利用JavaScript和Dom來(lái)實(shí)現(xiàn)一個(gè)酷酷的刪除效果.其實(shí)你學(xué)習(xí)到這里.已經(jīng)能夠明白,在ajax技術(shù)中那些被請(qǐng)求的 服務(wù)端網(wǎng)頁(yè),在非ajax應(yīng)用中并無(wú)太大區(qū)別.無(wú)非也是接受前端發(fā)過(guò)來(lái)的
    推薦度:
    標(biāo)簽: 刪除 數(shù)據(jù) aj
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产精品免费观看视频| 久久久久人妻一区精品| 国产精品理论片在线观看| 亚洲AV无码国产精品麻豆天美| 国产激情精品一区二区三区 | 精品国产污污免费网站入口| 黑人精品videos亚洲人| 青青青国产精品一区二区| 欧美精品福利视频一区二区三区久久久精品 | 日韩一区二区三区精品| 93精91精品国产综合久久香蕉 | 国产午夜精品久久久久九九电影| 国产精品自产拍在线观看| 久久精品毛片免费观看| 亚洲AV永久无码精品| 亚洲福利精品电影在线观看| 久久国产精品免费| 国产午夜亚洲精品国产成人小说| 视频二区国产精品职场同事| 国产精品久久99| 久久精品免费观看| 成人国产精品免费视频| 日韩精品无码AV成人观看| 亚洲永久精品ww47| 无码精品前田一区二区| 欧美精品亚洲人成在线观看| 久久精品国产福利国产琪琪| 国产这里有精品| 精品久久久无码中文字幕天天| 国产亚洲精品国看不卡| 国产综合精品久久亚洲| 精品人妻少妇一区二区三区| 国内精品伊人久久久久影院对白| 精品国产AⅤ一区二区三区4区| 国产三级精品三级在线观看专1| 国产在线观看高清精品| 精品国产免费一区二区三区| 精品无码久久久久久久久久 | 无码人妻精品一区二区三区久久 | 人妻少妇精品视频二区| 久久精品九九亚洲精品|