AJAX請求 $.getJson方法的使用

來源:互聯網
上載者:User

使用jQuery的$.getJson方法可以非同步擷取伺服器端返回的json字串。

$.getJson方法文法

$.getJson(url,parameters,callback)

參數

 

url

(字串)將要通過GET方法進行互動的伺服器端資源的url。

parameters

(對象)一個對象,其屬性作為“鍵/值”用於構造查詢字串並追加到url;或者一個預格式化和uri編碼的查詢字串。

callback

(函數)回呼函數,在請求完成時被調用。把響應體解析為json字串,這個字串的值作為第一個參數傳遞到這個回呼函數,響應狀態作為第二個參數傳遞到該函數。

傳回值

XHR執行個體

下面看個例子

用戶端代碼:

<html xmlns="http://www.w3.org/1999/xhtml"><head><title></title><script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script><script type="text/javascript">$().ready(function () {  $('#clk').click(function () {    var num = $(this).val();    $.getJSON('Server.aspx', callback)  })  function callback(json, status) {    $.each(json, function (i) {      $('#show').append('name:' + json[i]['Name'] + 'age:' + json[i]['Age'] + '<br/>');    })  }})</script></head><body><input id="clk" type="button" value="button" /><div id="show"></div></body></html>

服務端主要代碼:

using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.Script.Serialization;//適用於.NetFramework 3.5public partial class Server : System.Web.UI.Page{  protected void Page_Load(object sender, EventArgs e)  {    if (!Page.IsPostBack)    {      //List<Person> per = new List<Person>();      //per.Add(new Person("張三", 18));      //per.Add(new Person("李四", 19));      //JavaScriptSerializer jsonHelper = new JavaScriptSerializer();      //string json = jsonHelper.Serialize(per);      //Response.Write(json);      Response.Write(GetJSONData());    }  }  protected string GetJSONData()  {    string str = string.Empty;    //特別要注意json的返回格式,如果格式不正確將不能正常調用用戶端的回呼函數    str = "[{\"Name\":\"張三\",\"Age\":\"14\"}," +    "{\"Name\":\"李四\",\"Age\":\"17\"}," +    "{\"Name\":\"王五\",\"Age\":\"19\"}]";    return str;  }  public class Person  {    private string name;    private int age;    public string Name    {      get { return name; }      set { name = value; }    }    public int Age    {      get { return age; }      set { age = value; }    }    public Person(string name, int age)    {      this.name = name;      this.age = age;    }  }}

運行程式,結果

如果你不熟悉json格式,也不要緊。可以使用System.Web.Script.Serialization(framework 3.5)命名空間下為格式化為json的協助類。我們可以把伺服器端Page_Load事件中注釋的代碼變為可用。把Response.Write(GetJSONData())這句注釋掉。再運行程式,結果沒有問題,如。它把類直接格式化為json字串,省去了很多時間。

Demo下載

相關文章

聯繫我們

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