AJAX请求 $.post方法的使用

来源:互联网 发布:名片制作软件 绿色版 编辑:程序博客网 时间:2024/04/30 17:16
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
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<scriptsrc="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<scripttype="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>
<selectid="selectNum">
  <optionvalue="0">--Select--</option>
  <optionvalue="1">1</option>
  <optionvalue="2">2</option>
  <optionvalue="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(objectsender, EventArgs e)
{
  if(!Page.IsPostBack)
  {
    if(Request["id"] !=null && !string.IsNullOrEmpty(Request["id"].ToString()))
    {
      Response.Write( GetData(Request["id"].ToString()));
    }
  }
}
 
protectedstring GetData(stringid)
{
  stringstr = 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;
  }
  returnstr;
}

运行程序,结果如图:


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" onclick="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 0
原创粉丝点击