這個範例為 $.ajax 的簡單應用,其實只要多了解、多使用相信可以體會到 $.ajax 的用法:
JQuery:
function javascriptFunction( ) {
$.ajax({
type: "POST",
url: "TestAjax.aspx/TestFunc",
data: JSON.stringify({}),
contentType: "application/json; charset=utf-8",
async: false,
cache: false,
dataType: "json",
success: function (data) {
var jsonData = $.parseJSON(data.d); // 記得使用 $.parseJSON 處理 data.d
for (int i=0; i < jsonData.Length; i++)
alert(jsonData[i].Title);
C#:
// 下面為所需宣告
using System.Web;
using System.Web.Script.Services;
using System.Web.Script.Serialization;
...
public class NewsItem // 建立一個仿 JSON 類別
{
public string Title{ get; set; }
public string Content{ get; set; }
}
[System.Web.Services.WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string TestFunc()
{
// 載入內容
NewsItem[] nItems = new NewsItem[]
{
new NewsItem() { Title = "One", Content=" I am number One" },
new NewsItem() { Title = "Two", Content=" I am number Two"}
};
return new JavaScriptSerializer().Serialize(nItems ); // 回傳 JSON 格式的物件
}
JQuery:
function javascriptFunction( ) {
$.ajax({
type: "POST",
url: "TestAjax.aspx/TestFunc",
data: JSON.stringify({}),
contentType: "application/json; charset=utf-8",
async: false,
cache: false,
dataType: "json",
success: function (data) {
var jsonData = $.parseJSON(data.d); // 記得使用 $.parseJSON 處理 data.d
for (int i=0; i < jsonData.Length; i++)
alert(jsonData[i].Title);
C#:
// 下面為所需宣告
using System.Web;
using System.Web.Script.Services;
using System.Web.Script.Serialization;
...
public class NewsItem // 建立一個仿 JSON 類別
{
public string Title{ get; set; }
public string Content{ get; set; }
}
[System.Web.Services.WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string TestFunc()
{
// 載入內容
NewsItem[] nItems = new NewsItem[]
{
new NewsItem() { Title = "One", Content=" I am number One" },
new NewsItem() { Title = "Two", Content=" I am number Two"}
};
return new JavaScriptSerializer().Serialize(nItems ); // 回傳 JSON 格式的物件
}
留言
張貼留言