AJax+Json+JQuery—-前沿

來源:互聯網
上載者:User

        今天想寫點個人的感想,當然肯定有很多不足的地方,若有哪位仁兄發現不妥之處,還望指出。首先這邊文章是引言,是從大局的角度給大家介紹下我的想法,然後具體的實現我會從下一篇文章開始詳細講解。

 

       現在網路上大部分網站(個人認為)的資料轉送方式都不是基於像Ajax這樣資料轉送是非同步。Ajax有兩個特點:資料的非同步傳輸和頁面無重新整理,從某種角度上也可以說這就是它的優點。但是Ajax有兩點不好:第一:從伺服器端發送回來的資料(一般情況下是XML格式)要綁定到控制項上有點麻煩。第二:運用Ajax技術就一定要涉及到Js代碼,一旦其中的的Js代碼出錯,要找出錯誤就顯得不是那麼容易。所以個人覺得因為上面的兩點才讓Ajax在網頁設計領域中不能大展身手,關於Ajax會在下一篇文章中介紹。

 

      我需要申明的是這一系列文章都是圍繞Ajax這種技術來實現資料的非同步傳輸,只是利用了Json和JQuery這兩種技術來提高Ajax在網站開發中的效率,也彌補了Ajax在上面談到的那兩方面的不足,而這也是我寫這篇文章的主要目的。

 

      原理是通過Json和JQuery寫一些邏輯通用的Js方法,這些方法主要處理兩個任務:第一組裝要發送的資料;第二:處理從伺服器端發送回來的資料,如:將伺服器端發送回來的資料繫結到控制項上等,而Ajax的方法體只需要負責發送和接受這兩個動作。有了Json和JQuery這兩個助手,Ajax實現網站開發就很容易了。

 

      我們不如假設這裡要實現一個商務邏輯:顯示Student表中的一條記錄。其中Student表的結構2所示,那麼利用我們說的方法處理這個商務邏輯的資料流就1所示了。(本文章所用的後台代碼語言是C#,資料庫是SQLServer)

圖1

 

 

圖2

 

對照圖1各個步驟的相應說明:

1、  這個Js方法涉及到Json+JQuery技術,主要作用是遍曆一個DIV,擷取裡面所有控制項的ID屬性,然後配成一個邏輯條件字串。而這些顯示資料的控制項的ID命名將有一些規定,必須包含表名和表的屬性名稱。具體的規定以後的章節裡會詳細講解。

這裡為了下面的說明需要我假設用戶端有三個Span控制項和一個DIV

<div id="StudentID">

  <span id="LbStudent_Name"></span>

  <span id="LbStudent_Age"></span>

  <span id="LbStudent_Number"></span>

<div>

2、 在這裡大家可以這樣理解,這個商務邏輯條件是通過遍曆DIV擷取其中的Span控制項的ID來擷取的,最後就得到這樣的一條字串:

             "Student_Name:Student_Age:Student_Number"

 

3、 在後台代碼中,調用一個方法(大家自己也可以寫的),可以將上面的邏輯條件配成一個SQL語句,如下:

     "Select  Student.Name,Student.Age,Student.Number From Student"

 

     有些讀者會問在第1步中控制項的ID命名為什麼要包含表名和屬性名稱。這裡就是為了動態配置SQL語句的。

4、  這個Js方法涉及到Json+JQuery技術,然後到資料庫中擷取資料,所擷取出來的資料依照大家自己的習慣,可以是DataTable或者Student實體等。

5、  這這裡大家要寫一個方法,就是將上面的那條SQL語句所查出來的結果要拼成一個Json格式的字串,如:擷取的資料2所示的話,那麼最後的Json格式的字串可以為如下:

    {"Student_Name":"斌羽","Student_Age":"23","Student_Number":"200717030102"}

這裡也提示下,現在網上很多關於把實體轉換成Json格式的外掛程式,大家可以去下載。

 

6、  讀者肯定有個疑問,第5點,為什麼從資料庫中擷取的資料要轉換成Json格式的字串,還有Json格式的字串每個鍵的名稱為什麼要包含表名和屬性名稱,如:Student_Name

,這是為了將這個Json格式的字串發送到用戶端,用戶端只要調用一個通用的Js方法就可以動態將這些資料繫結到每個控制項上。具體的我會在後面的文章中給大家一個例子來講述。

    上面寫的這部分內容可能有點抽象,明天開始我會寫一些例子,來說明上面圖1中的每個步驟,到時候會更好理解。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.