在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"}
]
  1. FormData对象:
它可以更灵活方便的发送表单数据,因为可以独立于表单使用,实现表单数据的序列化。
最大的好处是可以通过Ajax上传文件。如果它的字段类型不是Blob也不是File,则会被转换成字符串。
通过这种方式,可以非常方便的进行表单提交,直接表单转换成FormData对象即可。 var fd = new FormData(document.querySelector("form"));
data: fd,
processData: false, // 不处理数据
contentType: false // 不设置内容类型

第一种写法(把参数拼接在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: 返回值:返回的是JSON数组而非JSON字符串,返回格式为:
[
{name: 'firstname', value: 'Hello'},
{name: 'lastname', value: 'World'},
{name: 'alias'}
] 优化:
第一种方法: $.param(data); //将表单元素数组或者对象序列化。
name=alice&mobileIpt=110&birthday=1983-05-12 如果被传递的对象在数组中,则必须是以 .serializeArray() 的返回值为格式的对象数组: [
{name:"first",age:"12"},
{name:"last",age:"11"},
{name:"job",age:"5"}
] 第二种方法: 数组转换成对象:
var data ={};
$("form").serializeArray().map(function(val){
data[val.name]=val.value;
}); 对象转换成json字符串:
var myJSON = JSON.stringify(data ); {"name": "first", "age": "12"}

第四种写法(拼接data)

var id = "a";
var name = "语文"; //data: "id=" + id + "&name=" + $("#name").val(),
data: "id=" + id + "&name=" + name,

JQuery Ajax 向后台传参方式的更多相关文章

  1. jQuery对象初始化的传参方式

    jQuery对象初始化的传参方式包括: 1.$(DOMElement) 2.$(' ... '), $('#id'), $('.class') 传入字符串, 这是最常见的形式, 这种传参数经常也传入第 ...

  2. ajax的data传参的两种方式

    ajax的data传参的两种方式 本文为转载. 1.[javascript] view plain copy /** * 订单取消 * @return {Boolean} 处理是否成功 */ func ...

  3. angularjs简单实现$http.post(CORS)跨域及$http.post传参方式模拟jQuery.post

    1.开启angularjs的CORS支持 .config(function($httpProvider) { // CORS post跨域配置 $httpProvider.defaults.useXD ...

  4. angular使用post、get向后台传参的问题

    一.问题的来源 我们都知道向后台传参可以使用get.put,其形式就类似于name=jyy&id=001.但是在ng中我却发现使用$http post进行异步传输的过程中后台是接收不到数据的. ...

  5. angularjs向后台传参,后台收不到数据

    angularjs中封装了一个$http服务,用来请求远程资源 参见:HTTP API 其中封装过的$http.post和$http.get使用起来比较方便 后台是php,用$_POST['name' ...

  6. AJAX - 封装的传参改为传入对象 XML JSON 数据格式

    Ajax封装函数,上次是直接传参,这次在原来的基础上改进,模仿jQuery 直接传入对象,把之前的参数都变为这个对象的属性. 这样可以随意调换传入数据的次序. 其他优点? 需要再复习一下. Ajax处 ...

  7. jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)

    在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. [WebMethod] public static string SayHe ...

  8. Web API中的传参方式

    在Restful风格的WebApi的里面,API服务的增删改查,分别对应着Http Method的Get / Post / Delete /Put,下面简单总结了Get / Post /Delete ...

  9. 原生js中用Ajax进行get传参

    原生js中用Ajax进行get传参 案例: <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q ...

随机推荐

  1. python-selenium -- 弹出框处理

    弹出框有两种:页面弹出框(可定位元素能操作).Windows弹出框(不能直接定位) 一.页面弹出框 等待弹出框出现之后,定位弹出框,操作其中元素 如: driver = webdriver.Chrom ...

  2. 微信小程序之评分页面

    首先给大家看看做好的效果图: 一.接下来我们说一下评分这个功能: 实际上就是一个简单的js,首先我们遍历出小星星,此时默认给的五星好评,在给他们一个点击事件,当点击时,我们获取到当前点击的是第几颗:代 ...

  3. Python 3.3 IDLE 删除键出现空格卡顿

    Python 3.3 IDLE 删除文字时会出现"□",造成删除键卡顿 原因:使用的是百度输入法,由于输入法的编码方式不同,对IDLE造成了不兼容 换成了搜狗输入法问题解决.... ...

  4. php 连接mysql 主机 localhost,显示 No such file or directory

    打开 php.ini文件,找到这1行 mysql.default_socket 然后将它修改为 mysql.default_socket=/path/to/mysql.sock /path/to/my ...

  5. [转]Delphi DLL的创建、静态 以及动态调用

    第一章  DLL简单介绍 由于在目前的学习工作中,需要用到DLL文件,就学习了下,在这里作个总结. 首先装简单介绍下DLL: 1,减小可执行文件的大小 DLL技术的产生有很大一部分原因是为了减小可执行 ...

  6. 【SQL】ON DUPLICATE KEY UPDATE

    在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新, 在刚碰到的时候,第一反应是将其实现分为两块,分别是判断增加,判断更新,后来发现在mysql中有 ON DUP ...

  7. 概率期望+闭包+bitset优化——hdu5036

    我们首先得到:     暴力打开这个箱子,能够开那些箱子.这个可以用bitset来进行状态压缩. 用闭包传递来解决这一步     然后,对于每个箱子,我们考虑有多少种方法,使:暴力打开某些箱子,同时能 ...

  8. NX-二次开发创建圆弧(三点圆弧)UF_CURVE_create_arc_3point

    NX9+VS2012 #include <uf.h> #include <uf_curve.h> UF_initialize(); //起点 ]; ArcStartPoint[ ...

  9. [JZOJ 5812] 区间

    题意:求经过多少次操作可以使得序列达到给定状态. 思路: 好像和\(CF\)某次比赛的题差不多啊... 差分统计每个点的值,将临近的\(+1\)和\(-1\)匹配即可. #include <bi ...

  10. natapp自动获取免费的动态端口域名

    前段时间,因为客户有个项目要求跨局域网进行远程控制桌面,想知道能不能实现.于是查询了许多资料,了解到需要有公网服务器作为中介才能够实现,但是公司又没有公网服务器,于是只有利用花生壳.natapp服务器 ...