JQuery Ajax 向后台传参方式
在jquery的ajax函数中,可以传入3种类型的数据
- 文本:
"uname=alice&mobileIpt=110&birthday=1983-05-12"
- json对象:
{"uanme":"vic","mobileIpt":110,"birthday":"2013-11-11"}
- json数组:
[
{"name":"uname","value":"alice"},
{"name":"mobileIpt","value":110},
{"name":"birthday","value":"2012-11-11"}
]
- 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 向后台传参方式的更多相关文章
- jQuery对象初始化的传参方式
jQuery对象初始化的传参方式包括: 1.$(DOMElement) 2.$(' ... '), $('#id'), $('.class') 传入字符串, 这是最常见的形式, 这种传参数经常也传入第 ...
- ajax的data传参的两种方式
ajax的data传参的两种方式 本文为转载. 1.[javascript] view plain copy /** * 订单取消 * @return {Boolean} 处理是否成功 */ func ...
- angularjs简单实现$http.post(CORS)跨域及$http.post传参方式模拟jQuery.post
1.开启angularjs的CORS支持 .config(function($httpProvider) { // CORS post跨域配置 $httpProvider.defaults.useXD ...
- angular使用post、get向后台传参的问题
一.问题的来源 我们都知道向后台传参可以使用get.put,其形式就类似于name=jyy&id=001.但是在ng中我却发现使用$http post进行异步传输的过程中后台是接收不到数据的. ...
- angularjs向后台传参,后台收不到数据
angularjs中封装了一个$http服务,用来请求远程资源 参见:HTTP API 其中封装过的$http.post和$http.get使用起来比较方便 后台是php,用$_POST['name' ...
- AJAX - 封装的传参改为传入对象 XML JSON 数据格式
Ajax封装函数,上次是直接传参,这次在原来的基础上改进,模仿jQuery 直接传入对象,把之前的参数都变为这个对象的属性. 这样可以随意调换传入数据的次序. 其他优点? 需要再复习一下. Ajax处 ...
- jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. [WebMethod] public static string SayHe ...
- Web API中的传参方式
在Restful风格的WebApi的里面,API服务的增删改查,分别对应着Http Method的Get / Post / Delete /Put,下面简单总结了Get / Post /Delete ...
- 原生js中用Ajax进行get传参
原生js中用Ajax进行get传参 案例: <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q ...
随机推荐
- Django学习铺垫
Web框架本质 所有的web服务本质都是一个socket服务端,用户浏览器就是一个socket客户端,这样就实现了自己的web框架 ,但是自己的写的框架肯定很low,各种工能崩溃,所以我们就要学习py ...
- PHP之数据连接方法(二)
首先API接口,无非就是通过该程序去处理数据的数据,及判断数据的准确性. 因此我们需要一个DBTool的操作方法. DBTool地址:https://github.com/gfarmhuang/DBT ...
- myEclipse环境下配置springMvc项目,进行简单的请求
1."File-->New-->WebProject"新建一个web项目,命名为springMvc 2.将所需要用到的jar包复制到WEB-INF/lib路径下,然后右 ...
- fedora 28 missing PROG bison
yum install bison Missing PROG dlltool Missing PROG flex Missing PROG mt
- 论文阅读笔记:《Interconnected Question Generation with Coreference Alignment and Conversion Flow Modeling》
论文阅读:<Interconnected Question Generation with Coreference Alignment and Conversion Flow Modeling& ...
- 【SPOJ DQUERY】区间数字统计
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 因为区间的端点移动一个单位的话,只会涉及到一个元素的增多或减少. 因此可以用莫队算法来解决. 只需要开一个数组(大小1百万),用下标来快速检索 ...
- storm集群的安装
storm图解 storm的基本概念 Topologies:拓扑,也俗称一个任务 Spoults:拓扑的消息源 Bolts:拓扑的处理逻辑单元 tuple:消息元组,在Spoults和Bolts传递数 ...
- css清除浮动的几种方法
推荐几种好用的清除浮动方法: 方法1: .clearfix:after { content:"."; display:block; height:; clear:both; vis ...
- delphi基础篇之单元文件
Delphi单元文件 unit MainFrm; {库单元文件头} interface {接口部分由Interface开始implementation结束.声明引用的单元,常量,数据类型 ...
- hexo next主题深度优化(六),使用hexo-neat插件压缩页面,大幅度提升页面性能和响应速度。
文章目录 隆重感谢: 背景 开始 试水 成功的案例 安装插件,执行命令. hexo _config.yml文件添加 坑 跳过压缩文件的正确配置方式 压缩html时不要跳过.md文件 压缩html时不要 ...