关于MVC3框架下的Jquery异步请求函数的学习心得之一——$.post()

今天学习了关于MVC3框架下的Jquery异步请求函数之$.post()的学习,得到了一些心得,当然,自认为还只是一些皮毛,但是值得留下足迹。直接上代码:

前端:

引用Jquery库<script src="@Url.Content("~/Scripts/jquery.1.5.1.min.js")" type="text/javascript"></script>-------必须的这个引用

$(function () {
  $("#post").click(function () {
      $.post("/home/TestMVC", { i: 2, j: 2 }, function (data, textStatus) {
        if (textStatus=="success") {
          alert(data.sname);//sname:看后台调用部分,相同的
        }
        else {
          alert(data.sname);
      }
    });
  });
});

后台调用部分:

public JsonResult TestMVC(int i, int j)
{
  int I = 0;
  List<student> list = new List<student>();


  for (int k = 0; k < 10; k++)
  {
    student sd = new student() { sname = "aaa" + k.ToString() + j.ToString(), ID = k, Grade = k * 10 };
    list.Add(sd);
  }
  var stu = (from m in list
        where m.ID == i
        select m
        ).FirstOrDefault();

  JsonResult J = new JsonResult();
  J.Data = stu;
  return J;
}

融会贯通:

先说这个$.post()吧,这个是和他的家族函数(我暂时是这样说的)$.ajax(),$.get(),$.load(),$.getJSON()这些都有点类似,但是具体的又有不同的用法,具体的我后面再说。

又先说这个上面代码部分的后台引用,stu是一个list的一个数据对集中的一个数据对,然后赋给JsonResult定义的J对象。我们可以想象,这个对象对集可以是我们从数据库中读取出来的,那不就直接联系到了ado.net了,以后可以跨数据库了,或者XML文档,等等都行。

还是后台部分,我们直接这样写:

public JsonResult TestMVC(int i,int j)

{

  JsonResult J = new JsonResult();
  J.Data = "把一些字符串传过去就得了,就这样简单";

  return J;

}

好了,以上部分在前台就可以把这个J.Data的内容放到页面中去了,很简单。如果要得到一个列表,直接把"J.Data = "把一些字符串传过去就得了,就这样简单";这个部分改成“<li>1.ddddddd</li><li>2.xxxxxxxxxxx</li>”;什么的就好了,前台做好接收就玩完了,代码如:

省略function前的部分,接着是function(data){$("#div > ul").html(data.Data);}就好了。

再说下那个前台部分,最主要的是这个{i:1,j:2}这个部分,就是传参数。$.post("/home/TestMVC", { i: 2, j: 2 }等同于:/home/TestMVC?i=2&j=2,只不过在Jquery中换了一种写法而已。当然,我们可以不传参数,那就省略这个部分变成了:

$.post("url",function(data){………………});省略了参数。

好了,今天就记录到这,接着我将就他的家族函数(我暂时是这样说的)$.ajax(),$.get(),$.load()的简单用法和融汇贯通一一呈上,敬请期待~~~~~~~~~

原文地址:https://www.cnblogs.com/20m13v08c15/p/3406734.html