|
jQuery.ajax传递参数的方法
前台 复制代码 代码如下: <!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> <script type="text/javascript" src="jquery/jquery-1.2.6.js"></script> <script type="text/javascript"> //这个方法把ajax方法封装一下,方便调用。 function myajax(){ //用此法传递数据 var arr={ "name":"tree", "id":"123" }; $.get( "ajax.aspx", arr, callback, "json" ); } //回调函数 function callback(data){ $('#response').append(data.name+data.id); $('#wait').css("display","none"); } //onload()事件 $(function(){ $('#confirm').click(myajax); }) //封装json数据,为了代码清晰,看来这种方法不行。 /* 似乎是因为数组格式不对。 var dataStr=jsonData(); alert(dataStr); */ function jsonData(){ var jsonStr=""; jsonStr+="\"name\":"; jsonStr+="\"tree\""; jsonStr+=","; jsonStr+="\"id\":"; jsonStr+="\"123\""; jsonStr+="}"; return jsonStr; } </script> </head> <body> <div id="confirm">点击</div> <div id="response">接收后台数据</div> <div id="wait" class="hide">hello</div> </body> </html> 后台 复制代码 代码如下: public partial class ajax : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //Response.Write("hello"+Request["name"]); Hashtable ht = new Hashtable(); ht.Add("name", Request.Params["name"]); ht.Add("id", Request.Params["id"]); 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) + "}"; } }
|
|