传递参数的标准方法(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) + "}";

  }

  }