$.ajax json数据传递方法

前台代码:

<!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>无标题页</title> 
<style type="text/css"> 
.show{ display:block;} 
.hide{ display:none;} 
</style> 
<script type="text/javascript" src="jquery/jquery-1.2.6.js"></script> 
<script type="text/javascript"> 

//这个方法把ajax方法封装一下,方便调用。 
function myajax(){ 
//var obj=jsonData(); 
$.ajax({ 
type:'post', 
url:'ajax.aspx', 
data:jsonData(),//可以直接加一个函数名。 
dataType:'json', 
beforeSend:beforecall, 
success:callback 
}); 
} 
//封装json数据,为了代码清晰 
function jsonData(){ 
var jsonStr="({"; 
jsonStr+="\"name\":"; 
jsonStr+="\"tree\""; 
jsonStr+=","; 
jsonStr+="\"id\":"; 
jsonStr+="\"123\""; 
jsonStr+="})"; 
return eval(jsonStr);//关键在于转换。 
} 
//调用前方法,不成功 
function beforecall(){ 
$('#wait').addClass("show").append('调出中...'); 
//alert('');//测试是否调用 
} 
//回调函数 
function callback(data){ 
$('#response').append(data.name+data.id); 
$('#wait').css("display","none"); 
} 
//onload()事件 
$(function(){ 
$('#confirm').click(myajax); 
}) 
</script> 
</head> 
<body> 
<div id="confirm">点击</div> 
<div id="response">接收后台数据</div> 
<div id="wait" class="hide">hello</div> 
</body> 
</html> 

后台代码:

protected void Page_Load(object sender, EventArgs e) 
{ 
Hashtable ht = new Hashtable(); 
string name = Request.Params["name"].ToString(); 
string birth = Request.Params["birthday"].ToString(); 
if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(birth)) 
{ 
//Response.ContentType = "Application/json"; 
//Response.Write(CreareJson("this is ok!", 1, name, birth)); 
ht.Add("info", "成功了"); 
ht.Add("sta", "状态"); 
ht.Add("name", name); 
ht.Add("birth", birth); 
Response.Write(CreateJsonParams(ht)); 
} 
Response.End(); 
} 
private string CreateJsonParams(Hashtable items) 
{ 
string returnStr = ""; 
foreach(DictionaryEntry item in items) 
{ 
returnStr += "\"" + item.Key.ToString() + "\":\"" + item.Value.ToString() + "\","; 
} 
return "{" + returnStr.Substring(0,returnStr.Length-1) + "}"; 
} 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值