微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

$.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) + "}"; }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐