ajax提交数据

ajax提交数据

  • ajax提交数据

  • 注意:获取值可以从方法参数传过来 也可以通过jquery获取对应标签的值;同时参数要与请求的动作方法的参数一致,否则值无法映射
  1. 发送 ajax (get 方式简写)请求      注意: ajax请求如果和上次地址相同,就有可能直接读取缓存的内容,而不再次获取最新数据了,所以在请求参数后面加上时间戳

      function method(参数value)
        {
            $.get('/Control/Action?参数=' + 参数value + "&temp=" + Date.parse(new Date()), function (res) { });
        }
  2.  发送 ajax (post 方式简写)请求    

    复制代码
        function method(参数value)
        {
            var value = $("#Value").val();
            $.post('/Control/Action', { 参数1: value, 参数2: 参数value }, function (res)
            {
                
            });
        }
    复制代码
  3. 发送 ajax (post 方式)请求  
    复制代码
        function method(参数value)
        {
            var valueone= $("#value").val();
            var url = "/RMA/RMAExpress/Add";
            $.ajax({
                url: url,
                type: 'post',
                data: {
                    value1: valueone,
                    value2: 参数value
                },
                success: function (res) { },
    error:function() { } }); }
    复制代码
  4. 发送 ajax (get方式)请求  

    复制代码
      function method(参数value)
        {
            var $expressNo = $("#ExpressNo").val();
            var url = "/RMA/RMAExpress/Add";
            $.ajax({
                url: url,
                type: 'get',
                success: function (res) { },
                error:function() { }
            });
        }
    复制代码
  5.  提交表单数据

    表单提交方法有三种,主要说下第三种
    第一种:用 form 自带属性action 提交
    第二种:用 jquery 提交:$("#formid").submit();
    第三种:用 ajax 提交
  6. 发送 ajax 请求  提交表单数据 (注意:
    • 表单提交数据与后台接收参数的相互映射是通过 name属性来实现的

    • 如果是嵌套的类 比如

      复制代码
      pulic class ModelOne
      {
          public string Name;
      }
      
      public class ModelTwo
      {
          public ModelOne Model{get;set;}
          public ModelTwo()
          {
              Model=new ModelOne();
          }
      }
      
      Control:
      public ActionResult Method(ModelTwo modelTwo){}
      
      前台表单中 Name 为 Model.Name 即可以映射值到 modelTwo下的Model属性下的Name中(可以在此处找到传值的数据与格式,如下)
      复制代码

    • 如果提交的表单是列表(集合)数据的话
      复制代码
      public class ModelOne
      {
          public string Name;
          public int Age;
      }
      
      public class ModelTwo
      {
        public List<ModelOne> List{get;set;}
          public ModelTwo()
          {
              List=new List<ModelOne>();
          }
      }
      
      Control:
      public ActionResult Method(ModelTwo modelTwo){}
      
      前台表单中 Name 为 List[0].Name 即可以映射值到 modelTwo下的List属性下的Name中(第一个)
       List[0].Name,List[0].Age List[1].Name,List[1].Age...List[n].Name,List[n].Age
       即可隐射到List集合下,同时List集合数量为n个 (参考方式如上)
       
      复制代码
    • cache作用:是否在缓存中读取数据的读取。

      cache属性是true(默认值)时:在第一次请求完成之后,如果地址和参数不变化,第二次去请求,会默认获取缓存中的数据,不去读取服务器端的最新数据。

      cache属性是flase(默认值)时:每次读取的是最新的数据。

      ajax缓存只对GET方式的请求有效,因为浏览器认为POST请求提交的内容必定有变化,所以不走缓存

    • async :https://www.cnblogs.com/yiliweichinasoft/p/3667365.html

    • ajax 各属性详解  : https://www.cnblogs.com/tylerdonet/p/3520862.html
  7. 复制代码
    $.ajax({
        cache: true,// 其实是不需要,参考上方介绍
        type: "POST",
        url:  ajaxCallUrl,
        data: $('#yourformid').serialize(),// 你的formid   注意:表单提交 这个serialize()方法是核心
        async: false,
        error: function(request) {
            alert("Connection error");
        },
        success: function(data) {  }
    });
    复制代码
posted @ 2019-04-21 18:45  ~雨落忧伤~  阅读(1567)  评论(0编辑  收藏  举报