AJAX请求 $.post方法的使用

使用jQuery的$.post方法可以以POST形式向服务器发起AJAX请求。$.post方法是jQuery的实用工具方法。

$.post方法语法

$.post(url,parameters,callback)

参数

 

url

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

parameter

(对象)需要传递到服务器端的参数。 参数形式为“键/值”。

callback

(函数)在请求完成时被调用。该函数参数依次为响应体和状态。

返回值

XHR实例

看个简单的例子

客户端代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
< 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方式调用服务
    $.post('Server.aspx', { id: idValue }, function (text, status) { 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 >
</ body >
</ html >

服务端主要代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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


jQuery.post( url, [data], [callback], [type] ) :
使用POST方式来进行异步请求

参数:

url (String) : 发送请求的URL地址.

data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示。

callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。

type (String) : (可选)官方的说明是:Type of data to be sent。其实应该为客户端请求的类型(JSON,XML,等等)

1.html页面(index.html)

复制代码 代码如下:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Untitled Document</title>
<script type="text/javascript" src=\'#\'" /jquery-1.3.2.js"></script>
<script language="javascript">
function checkemail(){

  if($('#email').val() == ""){
    $('#msg').html("please enter the email!");
    $('#email').focus;
    return false;
  }
  if($('#address').val() == ""){
    $('#msg').html("please enter the address!");
    $('#address').focus;
    return false;
  }
  ajax_post();
}

function ajax_post(){
  $.post("action.php",{email:$('#email').val(),address:$('#address').val()},
  function(data){
    //$('#msg').html("please enter the email!");
    //alert(data);
    $('#msg').html(data);
  },
  "text");//这里返回的类型有:json,html,xml,text
}
</script>
</head>

<body>
<form id="ajaxform" name="ajaxform" method="post" action="action.php">
    <p>
    email<input type="text" name="email" id="email"/>

    </p>
    <p>
    address<input type="text" name="address" id="address"/>
    </p>
    <p id="msg"></p>
    <p>   
        <input name="Submit" type="button" value="submit" οnclick="return checkemail()"/>
    </p>
</form>
</body>
</html>


2.php页面(action.php)
复制代码 代码如下:

<?php
$email = $_POST["email"];
$address = $_POST["address"];

//echo $email;
//echo $address;
echo "success";
?>


说明:当点击按钮时,注意按钮现在的类型是button.在不使用$.post()方法时,按钮类型是submit,这样submit提交form里的数据,采用post方法传递到页面action.php,这时在页面action.php中就能接受到传过来的数据。当采用$.post方法时,我们在函数ajax_post()方法中其实就是使用了post的方法。(要引用jquery库文件)


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值