如何把页面的数据发送到控制器呢?下面就让我来带你研究研究
1.方法一:XMLHttpRequest方法
1.1介绍:首先要知道什么是 XMLHttpRequest 对象?
XMLHttpRequest 对象用于在后台与服务器交换数据。
1.2优势:XMLHttpRequest 在不重新加载页面的情况下更新网页 ;在页面已加载后从服务器请求数据 ;在页面已加载后从服务器接收数据 ;在后台向服务器发送数据;所有现代的浏览器都支持 XMLHttpRequest 对象
1.3方法:
//构建参数
var frData = new FormData();
frData.append(“1”,1);
//创建XMLHttpRequest对象
var xhr = new XMLHttpRequest
//指定提交类型和选择要发送的地址 上传文件只能使用POST请求,不能用get请求
xhr.open(“post”,url);
//接受返回值
xhr.onload = function(){
//序列化成JSON对象
var msg = JSNO.parse(xhr.responseText);
//发送数据
xhr.send(frData);
}
2.方法二:jQuery - post() 方法
2.1介绍:$.post() 方法通过 HTTP POST 请求从服务器上请求数据。
2.2语法:
$.post(URL,data,callback);必需的 URL 参数规定您希望请求的 URL
可选的 data 参数规定连同请求发送的数据。
可选的 callback 参数是请求成功后所执行的函数名。
2.3模板:
//异步请求
$.post("@Url.Content("~/SchooliforManage/Classes/SelectClassById")", { classID: classID }, function (jsonData) {
if (jsonData != null && jsonData != undefined && jsonData != “”)
{
}
});
3.方法三:jQuery ajax - ajax() 方法
3.1介绍:ajax() 方法通过 HTTP 请求加载远程数据。
该方法是 jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get,
.
p
o
s
t
等
。
.post 等。
.post等。.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。(最简单的情况下,$.ajax() 可以不带任何参数直接使用)
3.2模板
$.ajax({
url: MyUrl,//规定发送请求的 URL。默认是当前页面。
method: “post”,// method/get/post 规定用于发送form-data的HTTP方法
contentType: false,//让Ajax不指定数据类型
processData: false,//让Ajax不对数据进行处理
data: upFormData,//发送到服务器的数据。将自动转换为请求字符串格式
success: function (jsonMsg) {//当请求成功时运行的函数。
});
注:更多jQ方法请参考jQurey 的 AJAX 方法