ajax串連資料庫載入+三級聯動

來源:互聯網
上載者:User

標籤:parent   click   對象   eric   子集   sys   lin   nic   應用   

ajax串連資料庫載入

ajax是指一種建立互動式網頁應用的網頁開發技術。

AJAX = 非同步JS和XML(標準通用標記語言 (SGML)的子集)。

AJAX 是一種用於建立快速動態網頁的技術。 通過在後台與伺服器進行少量資料交換,AJAX 可以使網頁實現非同步更新。這意味著可以在不重新載入整個網頁的情況下,對網頁的某部分進行更新。 傳統的網頁(不使用 AJAX)如果需要更新內容,必須重載整個網頁頁面。 優點:是在不重新載入整個頁面的情況下,可以與伺服器交換資料並更新部分網頁內容。  不需要任何瀏覽器外掛程式,但需要使用者允許JavaScript在瀏覽器上執行。 1.建立AJAX 點擊按鈕載入資料。.建立一個LINQ to SQL 類,將User表和Nation表拉到類中建立一個 web表單 或者純html介面 +一個一般處理常式LoadUserajax.ashx

(1)body內代碼

 1  <table id="tb1" style=" text-align: center; width: 100%;"> 2     <thead> 3         <tr style="color: #ff6a00;"> 4             <td>使用者名稱</td> 5             <td>密碼</td> 6             <td>暱稱</td> 7             <td>性別</td> 8             <td>生日</td> 9             <td>年齡</td>10             <td>民族</td>11         </tr>12     </thead>13     <tbody>14     </tbody>15     </table>16     <input type="button" value="載入" id="btn1" />

(2)js代碼部分

 1 <script> 2     //點擊載入按鈕 3     $("#btn1").click(function () { 4         //編寫ajax語句,將資料提交到某個服務端去 5         $.ajax({ 6             url: "ajax/LoadUserajax.ashx",//將資料要提交到哪個服務端 7             data: {},//將什麼資料提交到服務端去,{}內基本格式為"key":"要傳的資料" 8             type: "post",//用什麼樣的方式將資料提交過去 9             dataType: "json",//返回一個什麼樣的資料類型10             //請求完成11             success: function (data) {12                 $("#tb1 tbody").empty();//清空tbody13                 for (i in data) {14                     var str = "<tr style=\"\">";15                     str += "<td>" + data[i].username + "</td>";16                     str += "<td>" + data[i].password + "</td>";17                     str += "<td>" + data[i].nickname + "</td>";18                     str += "<td>" + data[i].sex + "</td>";19                     str += "<td>" + data[i].birthday + "</td>";20                     str += "<td>" + data[i].age + "</td>";21                     str += "<td>" + data[i].nation + "</td>";22                     str += "</tr>";23                     $("#tb1 tbody").append(str);24                 }25             },//success26             //請求失敗27             error: function () {28                 alert(‘伺服器串連失敗!!!‘);29             }30         });//ajax31     });//btn1.click32 </script>

(3)userajax.ashx內代碼

 1 <%@ WebHandler Language="C#" Class="userajax" %> 2  3 using System; 4 using System.Web; 5 using System.Collections; 6 using System.Collections.Generic; 7 using System.Linq; 8 using System.Text; 9 10 public class userajax : IHttpHandler11 {12 13     public void ProcessRequest(HttpContext context)14     {15         //有資料接收時,用context.Request["key"];將ajax傳過來的資料取出來16         int count = 0;//前面是否有資料17         string end = "[";//建立json對象,設定預設值,基本格式為{"key":"value","":"","":""},有多條時用[]括住,每條之間用,隔開18         using (WebDataContext con = new WebDataContext())19         {20             List<User> ulist = con.User.ToList();21             foreach (User u in ulist) {22                 //前面有資料23                 if (count>0) {24                     end += ",";25                 }26                 end += "{\"username\":\""+u.UserName+"\",\"password\": \""+u.PassWord+"\",\"nicknane\":\""+u.NickName+"\",\"sex\": \""+u.SexStr+"\",\"birthday\": \""+u.BirStr+"\",\"age\":\""+u.Age+"\",\"nation\":\""+u.NationName+"\" }";27                 count++;28             }29         }30         end += "]";31             context.Response.Write(end);32             context.Response.End();33      34     }35 36     public bool IsReusable37     {38         get39         {40             return false;41         }42     }43 44 }
 2. json與xml 

xml和json的作用:在不同語言之間進行資料傳遞

最早使用的資料類型是 xml
劣勢:
1、代碼量較大
2、結構不清晰
3、解析起來麻煩

現在使用的資料類型是 json
優勢:
1、結構清晰
2、類似於物件導向的解析方式

json基本格式:
{"key":"value","":"","":""}

{"username":"","password":"","nickname":"","sex":"","birthday":"","nation":""}

 -------------------------------------------------------三級聯動 不重新整理介面1.建立三個 DropDownList
2.js
bind1($("#DropDownList1"), ‘0001‘, ‘1‘);    function bind1(drop, pc, key) {        $.ajax({            url: "ajax/china.ashx",            data: { "pcode": pc },            type: "post",            dataType: "json",            success: function (data) {                drop.empty();                for (i in data) {                    var str = "<option value=\"" + data[i].code + "\">" + data[i].name + "</option>";                    drop.append(str);                }                if (key == "1")                    {                    bind1($("#DropDownList2"), $("#DropDownList1").val(), ‘2‘);                }                if (key == "2") {                    bind1($("#DropDownList3"), $("#DropDownList2").val(), ‘3‘);                }            },            error: function () {                alert(‘伺服器串連失敗!‘);            }        });    }    $("#DropDownList1").change(function () {        bind1($("#DropDownList2"), $(this).val(), ‘2‘);    });    $("#DropDownList2").change(function () {        bind1($("#DropDownList3"), $(this).val(), ‘3‘);    });

3.一般處理常式

using System;using System.Web;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;public class china : IHttpHandler {        public void ProcessRequest (HttpContext context) {        string pcode = context.Request["pcode"];        StringBuilder end = new StringBuilder();        int count = 0;        end.Append("[");        using (mydbDataContext con = new mydbDataContext())        {            List<ChinaStates> clist = con.ChinaStates.Where(r => r.ParentAreaCode == pcode).ToList();            foreach (ChinaStates c in clist)            {                if (count > 0)                    end.Append(",");                                end.Append("{\"code\":\""+c.AreaCode+"\",\"name\":\""+c.AreaName+"\"}");                count++;            }        }        end.Append("]");        context.Response.Write(end);        context.Response.End();    }     public bool IsReusable {        get {            return false;        }    }}

 

                 

ajax串連資料庫載入+三級聯動

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.