Johnny_Z

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用jQuery的load方法可以简单快捷的发起AJAX请求。使用load方法可以把已完成相应的文本插入到包装集所包含的任何元素中。

load方法语法

load(url,parameters,callback)

参数

 

url

(字符串)服务器端资源地址。

parameter

(对象)需要传递到服务器端的参数。如果指定,就用POST方法请求;如果省略,就用GET方法请求。

callback

(函数)在响应数据加载到包装集后调用。该函数参数依次为文本、状态码和XHR实例。

返回值

包装集

看个简单的例子

客户端代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$().ready(function () {
  $('#selectNum').change(function () {
    var idValue = $(this).val();
    //采用POST方式调用服务
    $('#show').load('Server.aspx', { id: idValue });
    //采用GET方式调用服务
    //var url = 'Server.aspx?id=' + idValue;
    //$('#show').load(url,null , function (text,status,xhr) { alert(text) });
  })
})
</script>
</head>
<body>
<select id="selectNum">
  <option value="0">--Select--</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>
<div id="show">
</div>
</body>
</html>

服务端主要代码:

protected void Page_Load(object sender, EventArgs e)
{
  if (!Page.IsPostBack)
  {
    if (Request["id"] != null && !string.IsNullOrEmpty(Request["id"].ToString()))
    {
      Response.Write( GetData(Request["id"].ToString()));
    }
  }
}

protected string GetData(string id)
{
  string str = string.Empty;
  switch (id)
  { 
    case "1":
      str += "This is Number 1";
      break;
    case "2":
      str += "This is Number 2";
      break;
    case "3":
      str += "This is Number 3";
      break;
    default:
      str += "Warning Other Number!";
      break;
  }
  return str;
}

运行程序,结果如图:

clip_image001

我们也可以注销POST方式代码,来看GET方式的代码,也会得到相同的结果。

用httpwatcher拦截请求信息,当下拉框中选择数字时,可以截取到如下请求信息。

使用GET方法时的截图:

clip_image003

使用POST方法时的截图:

clip_image005

从两幅图中我们可以看到,当指定load方法中的第二个参数时使用的是POST请求,当不指定第二个参数时则是GET请求。

如果服务器端返回了很多标签,我们还可以对这些标签进行进一步筛选,如:$(‘#show’).load(‘url p’),这样,就把返回内容中的p标签选择了出来

Demo下载

posted on 2012-06-17 14:13  Johnny_Z  阅读(4552)  评论(0编辑  收藏  举报