首页 > Web开发 > 详细

JQuery Ajax 向后台传参方式

时间:2019-08-14 21:07:38      阅读:63      评论:0      收藏:0      [点我收藏+]

在jquery的ajax函数中,可以传入3种类型的数据

  1. 文本:"uname=alice&mobileIpt=110&birthday=1983-05-12"
  2. json对象:{uanme:‘vic‘,mobileIpt:‘110‘,birthday:‘2013-11-11‘}
  3. json数组:
[
    {"name":"uname","value":"alice"},
    {"name":"mobileIpt","value":"110"},   
    {"name":"birthday","value":"2012-11-11"}
]

第一种写法(把参数拼接在URL中,data属性设为空{ })

var id = "a";
var name = "语文";

url:"/sell/login?id="+id+"&name="+name +"",
data:{},

第二种写法(参数写成json数据形式)

         data:{
            name:'ld',
            user:'littledonkey'
         },

第三种写法(根据表单id属性,把表单封装数据,调用JQuery的serialize()方法序列化为字符串)

前提是:发送请求的必须是一个form表单,而且表单内要做参数的标签必须具有name属性,因为name属性会被认为请求参数名
var params=$('#login').serialize(); //把id为login的form表单里的参数自动封装为参数传递

data:params,


serialize方法可以将表单序列化成一个拼接的字符串形式:
username=a&address=b&age=c

serializeArray方法可以将表单序列化成一个特殊的json数组,带有name和value的json:
    Array(6):
    0: {name: "username1", value: "a"}
    1: {name: "address1", value: "b"}
    2: {name: "age1", value: "c"}
    3: {name: "username2", value: "d"}
    4: {name: "address2", value: "e"}
    5: {name: "age2", value: "f"}

优化:
  var data ={}
  $("form").serializeArray().map(function(val,index){
      data[val.name]=val.value;
  })

{username1: "a", address1: "b", age1: "c", username2: "d", address2: "e", …}

第四种写法(拼接data)

var id = "a";
var name = "语文";

//data: "id=" + id + "&name=" + $("#name").val(),
data: "id=" + id + "&name=" + name,

JQuery Ajax 向后台传参方式

原文:https://www.cnblogs.com/loveer/p/11354485.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!