两种 HTTP 请求方法
我们有俩种在客户端和服务器端进行请求—响应的常用的方法,分别是:post()方法 和 get()方法。
-
post()方法就是向指定的资源提交要进行处理的数据。 -
get()方法就是从指定的资源中请求数据。 post 可以用于从服务器中获取数据。但是,post()方法不会缓存数据,而且经常用于连同请求一起发送数据。
post () 方法 通过HTTP POST 请求从对应的数据库中截入我们需要的数据。
jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)
post 方法中有4个参数。
参数:
- URL :必须要的,规定将请求发送到哪一个 URL。
- DATA:可选的,映射或者字符串值。规定一起请求发送到服务器中的数据。
- SUCCESS(DATA,TEXTSTATUS,JQXHR):可选的,请求成功时执行的回调函数。
- DATATYPE:也是可选的,规定预期的服务器响应的数据类型。
$.get() 方法 通过HTTP GET 请求从服务器上请求数据。
get()一般用于从服务器上获得(取回)数据。注意:get()方法可能会返回缓存的数据。
? 将表单数据传入到控制器,然后获取表单的数据。
- 获取表单数据的4种方法: 可以接收post和get提交的数据
? 1.通过形参方式来接收表单提交的数据
public ActionResult GetDataInfor(string name, string sex, string address)
{
string str = name + sex + address;
return Content(str);
}
public ActionResult GetDataByFormCollection(FormCollection form)
{
string name = form["name"];
string sex =form["sex"];
string address = form["address"];
string str = name + sex + address;
return Content(str);
}
public ActionResult GetDataByRequest()
{
string name = Request.Form["name"];
string sex = Request.Form["sex"];
string address = Request.Form["address"];
//进行字符串的拼接操作
string str = name + sex + address;
//返回内容
return Content(str);
}
? 通过实体类接收视图传递过来的数据
public ActionResult GetDataByEntityClass(Person person)
{
string name = person.name;
string sex = person.sex;
string address = person.address;
//进行字符串的拼接操作
string str = name + sex + address;
//返回内容
return Content(str);
}
public class Person
{
//public string name;成员变量
public string name { get; set; }//属性
public string sex { get; set; }//属性
public string address { get; set; }//属性
}
小结:有4种获取表单数据的方法。其中有可以接收post和get提交数据的,也有只接受post提交数据的。
可以接收post和get提交数据的:
- 形参的方式
- Request.Form[“name的属性值”]
只接受post提交数据的:
- FormCollection
- EntityClass实体类
实例:
-
通过AJAX post 请求来改变 div 元素的文本 $("input").keyup(function(){
text = $("input").val();
$.post("GetDataInfor",{success:text},function(msg){
$("span").html(msg);
});
});
-
通过$.get () 方法从对应的服务器上的一个文件中取回数据 $("button").click(function(){
$.get("GetData",function(data,status){
alert("Data: " + data + "\nStatus: " + status);
});
});
|