• 关于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()的简单用法和融汇贯通一一呈上,敬请期待~~~~~~~~~

  • 相关阅读:
    Python运算符,基本数据类型
    Python2 错误记录1File "<string>", line 1, in <module> NameError: name 'f' is not defined
    用户登录三次练习
    跟我一起学Python-day1(条件语句以及初识变量)
    vim operation
    步步为营-28-事件本质
    步步为营-27-事件
    步步为营-26-多播委托
    步步为营-25-委托(比大小)
    步步为营-24-委托
  • 原文地址:https://www.cnblogs.com/20m13v08c15/p/3406734.html
Copyright © 2020-2023  润新知