先我們來看一個官方的實例
使用AJAX 請求來獲得JSON 數據,並輸出結果:
$("button").click(function(){
$.getJSON("demo_ajax_json.js",function(result){
, function(i, field){
$("div").append(field " ");
});
});
});
🎜>函數是簡寫的Ajax 函數,等價於:
程式碼如下:
$.ajax({
url: url,
data: data,
success: callback,
dataType: json
});
發送🎜>到伺服器的資料可作為查詢字串附加到URL 之後。如果 data 參數的值是物件(映射),那麼在附加到 URL 之前將轉換為字串,並進行 URL 編碼。
傳遞給 callback 的返回數據,可以是 JavaScript 對象,或以 JSON 結構定義的數組,並使用 $.parseJSON() 方法進行解析。
從test.js 載入JSON 資料並顯示JSON 資料中一個name 欄位資料:
$.getJSON("test.js", function(json){
alert("JSON Data: " json.users[3].name);
});
一個與asp.net實例
先給出要傳的json資料:[{"demoData":"This Is The JSON Data"}]
1,使用普通的aspx頁面來處理
我覺得這種方式處理起來是最簡單的了,看下面的程式碼吧
$.ajax({
type: "post",
url: "Default.aspx",
dataType: "json",
success: function (data) {
(data[0].demoData);
error: function (XMLHttpRequest, textStatus, errorThrown) { > });
這裡是後台傳遞資料的程式碼
程式碼如下:
Response. Clear();
Response.Write("[{"demoData":"This Is The JSON Data"}]");
Response.Flush();
Response.End();
複製程式碼
程式碼如下:
$.ajax ({
type: "post",
url: "JqueryCSMethodForm.asmx/GetDemoData",
dataType: "json",/*這句話可用,沒有影響*/Typesuccess: function (data) {
$("input#showTime").val(eval('(' data.d ')')[0 ].demoData);
//這裡有兩種對資料的轉換方式,兩處理方式的效果一樣//$("input#showTime").val(eval(data.d)[0].demoData );
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorTh n); 🎜>下面這裡asmx的方法碼
[WebMethodMethod static string GetDemoData() {
return "[{"demoData":"This Is The JSON Data"}]";
就把這個處理方式傳遞回來的json數據當成了字串來處理的,所在就要對這個數據進行eval的處理,這樣才能成為真正的json對象數據,
我們先來看一下html模板:
複製程式碼