jQuery asp.net 用json格式返回自定義對象
更新時間:2010年04月07日 13:37:33 作者:
客戶端用一個html頁面調(diào)用一個ashx文件(一般http處理程序),返回 json格式的自定義對象
客戶端用一個html頁面調(diào)用一個ashx文件(一般http處理程序),返回 json格式的自定義對象:
html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>ajax測試</title>
<script src="js/jquery-1.2.3.js" type="text/javascript"></script><!-這里引用了jQuery框架->
</head>
<body>
<script type="text/javascript">
$(document).ready(function(){
$("#Button2").click(function(){
var url="handler.ashx?&name="+$("#Text1").val()+"&age="+$("#Text2").val();
$.get(url,function(result){
var obj=eval("("+result+")");
alert("姓名:"+obj.Name+"\n"+"年齡:"+obj.Age);
})
})
})
</script>
<input id="Button2" type="button" value="button" /><span lang="zh-cn">姓名:</span><input id="Text1"
type="text" /><span lang="zh-cn">年齡:</span>
<input id="Text2"
type="text" />
</body>
</html>
handler.ashx文件:
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
using System.Runtime.Serialization.Json;
using System.Collections;
using System.Runtime.Serialization;
public class Handler : IHttpHandler {
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string name = context.Request.Params["name"].ToString();
string age = context.Request.Params["age"].ToString();
person p1 = new person(name,age);
DataContractJsonSerializer djson = new DataContractJsonSerializer(p1.GetType());//將對象序列化為 JavaScript 對象表示法 (JSON)
djson.WriteObject(context.Response.OutputStream, p1);
}
public bool IsReusable {
get {
return false;
}
}
[DataContract]//要序列化,一定要加這個屬性
public class person
{
[DataMember]//屬性“DataMember”只在“property, indexer, field”聲明中有效。
public string Name="無名士";
[DataMember]
public string Age="0";
public override string ToString()
{
return "姓名:" + Name + "年齡:" + Age;
}
public person(string name,string age)//自定義類person
{
this.Name = name;
this.Age = age;
}
public person()
{ }
}
}
html:
復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>ajax測試</title>
<script src="js/jquery-1.2.3.js" type="text/javascript"></script><!-這里引用了jQuery框架->
</head>
<body>
<script type="text/javascript">
$(document).ready(function(){
$("#Button2").click(function(){
var url="handler.ashx?&name="+$("#Text1").val()+"&age="+$("#Text2").val();
$.get(url,function(result){
var obj=eval("("+result+")");
alert("姓名:"+obj.Name+"\n"+"年齡:"+obj.Age);
})
})
})
</script>
<input id="Button2" type="button" value="button" /><span lang="zh-cn">姓名:</span><input id="Text1"
type="text" /><span lang="zh-cn">年齡:</span>
<input id="Text2"
type="text" />
</body>
</html>
handler.ashx文件:
復(fù)制代碼 代碼如下:
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
using System.Runtime.Serialization.Json;
using System.Collections;
using System.Runtime.Serialization;
public class Handler : IHttpHandler {
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string name = context.Request.Params["name"].ToString();
string age = context.Request.Params["age"].ToString();
person p1 = new person(name,age);
DataContractJsonSerializer djson = new DataContractJsonSerializer(p1.GetType());//將對象序列化為 JavaScript 對象表示法 (JSON)
djson.WriteObject(context.Response.OutputStream, p1);
}
public bool IsReusable {
get {
return false;
}
}
[DataContract]//要序列化,一定要加這個屬性
public class person
{
[DataMember]//屬性“DataMember”只在“property, indexer, field”聲明中有效。
public string Name="無名士";
[DataMember]
public string Age="0";
public override string ToString()
{
return "姓名:" + Name + "年齡:" + Age;
}
public person(string name,string age)//自定義類person
{
this.Name = name;
this.Age = age;
}
public person()
{ }
}
}
您可能感興趣的文章:
- Javascript 中創(chuàng)建自定義對象的方法匯總
- Javascript創(chuàng)建自定義對象 創(chuàng)建Object實例添加屬性和方法
- JavaScript 類的定義和引用 JavaScript高級培訓(xùn) 自定義對象
- JS自定義對象實現(xiàn)Java中Map對象功能的方法
- 構(gòu)造函數(shù)+原型模式構(gòu)造js自定義對象(最通用)
- javascript中自定義對象的屬性方法分享
- JavaScript實現(xiàn)創(chuàng)建自定義對象的常用方式總結(jié)
- JS 自定義帶默認值的函數(shù)
- 100個不能錯過的實用JS自定義函數(shù)
- js常用自定義公共函數(shù)匯總
- JS自定義對象創(chuàng)建與簡單使用方法示例
相關(guān)文章
jQuery用noConflict代替$的實現(xiàn)方法
下面小編就為大家?guī)硪黄猨Query用noConflict代替$的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04JS中Array數(shù)組學(xué)習(xí)總結(jié)
本文主要介紹了JS中Array數(shù)組的相關(guān)知識。具有一定的參考價值,下面跟著小編一起來看下吧2017-01-01jQuery解決input元素的blur事件和其他非表單元素的click事件沖突問題
這篇文章主要介紹了jQuery解決input元素的blur事件和其他非表單元素的click事件沖突問題,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-08-08jQuery.ajax實現(xiàn)根據(jù)不同的Content-Type做出不同的響應(yīng)
使用H5+ASP.NET General Handler開發(fā)項目,使用ajax進行前后端的通訊。有一個場景需求是根據(jù)服務(wù)器返回的不同數(shù)據(jù)類型,前端進行不同的響應(yīng),這里記錄下如何使用$.ajax實現(xiàn)該需求,需要的朋友可以參考下2016-11-11