ajax 数据请求(一)同域
参考:http://www.css88.com/jqapi-1.9/jQuery.ajax/
http://www.cnblogs.com/haitao-fan/p/3908973.html
1、常用格式化
$.ajax({
url:url,
type:'POST',
method :'POST',//jq 1.9 添加属性 ,type 的别名,1.9之前用 type
async:true,//是否异步处理,同步会锁定浏览器
crossDomain:false,//是否跨域
dataType:"json",//数据类型
data:data,//发送的请求数据
beforeSend:function(){
//发送前执行的操作,一般用于验证,返回false 时终止请求
},
success:function(data,status,xhr){
//请求成功的事件
},
error:function(xhr){
//请求失败的事件
alert("错误提示: " + xhr.status + " " + xhr.statusText);
},
complete:function(jqXHR,textStatus){
//不论成功与否都执行的回调方法
}
});
2、参数
dataType 数据类型
default: Intelligent Guess (xml, json, script, or html)
data 的参数类型以下几种
- 文本类型
- JSON字符串
- JSON对象
- JSON数组
- FormData对象
- 其他类型,比如html, 比如XML,只要设置要contentType即可,类似JSON类型
文本类型:
如:data = "uname=myname&mobileIpt=110" ;
JSON 字符串:(注意与json 对象区分)
如:data = "{uname:'myname',mobileIpt:'110','}";
JSON 对象:
如:data = {"uname":"myname","mobilelpt":"110"};
JSON 数组:
如:data = [
{"name":"uname","value":"myname"},
{"name":"mobileIpt","value":"110"},
];
var arr = $('#form').serializeArray() 序列化数组返回的是JSON 数组,可利用$.param(arr) 来解析json 数组,解析后为文本格式 "uname=myname&mobileIpt=110".
附:可通过 $('#form').serialize() 序列化方法 直接提取表单数据,生成文本格式 "uname=myname&mobileIpt=110"
在通过反序列化方法unserialize(文本格式) 的到一个json对象,这样就可以取出表单中的某些数据
FormatData对象:
FormatData对象可以更灵活方便的发送表单数据,因为可以独立于表单使用。
可通过Ajax上传文件。通过这种方式,可以非常方便的进行表单提交,直接表单转换成FormData对象即可。
//通过document.querySelector(".form")获取匹配的第一个表单
//想要获取所有匹配的元素用document.querySelectorAll(".form")
var fd = new FormData($("#form"));
//额外添加参数
fd.append("CustomField", "This is some extra data"); $.ajax({
url: url,
type: "POST",
data: fd,
processData: false, // 不处理数据
contentType: false // 不设置内容类型
});
提示:若重服务器中获取到的是json 数组的话,需要用$.parseJSON()转为json对象来处理
ajax 数据请求(一)同域的更多相关文章
- 微信小程序的ajax数据请求wx.request
微信小程序的ajax数据请求,很多同学找不到api在哪个位置,这里单独把小程序的ajax请求给列出来,微信小程序的请求就是wx.request这个api,wx.request(一些对象参数),微信小程 ...
- Ajax --- 数据请求
下面主要介绍(JS原生)数据请求的主要步骤: Ajax 数据请求步骤: 1.创建XMLHttpRequest对象 2.准备数据发送 3.执行发送 4.指定回掉函数 第一步:创建XMLHttpReque ...
- VueJS搭建简单后台管理系统框架 (二) 模拟Ajax数据请求
开发过程中,免不了需要前台与后台的交互,大部分的交互都是通过Ajax请求来完成,在服务端未完成开发时,前端需要有一个可以模拟Ajax请求的服务器. 在NodeJs环境下,通过配置express可访问的 ...
- ajax数据请求5(php格式)
ajax数据请求5(php格式): <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- ajax数据请求4(xml格式)
ajax数据请求4(xml格式): <!doctype html> <html> <head> <meta charset="utf-8" ...
- ajax数据请求3(数组json格式)
ajax数据请求3(数组json格式) <!doctype html> <html> <head> <meta charset="utf-8&quo ...
- ajax数据请求2(json格式)
ajax数据请求2(json格式) <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- AJAX数据请求
ajax数据请求需要四个步骤:(请求文本内容) 1.创建XMLHttpRequest对象: 2.打开与服务起的链接: 3.发送给服务器: 4.响应就绪. <!DOCTYPE html> & ...
- 前端笔记之服务器&Ajax(下)数据请求&解决跨域&三级联动&session&堆栈
一.请求后端的JSON数据 JSON是前后端通信的交互格式,JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式. JSON是互联网各个后台与 ...
- ajax数据请求的理解
一,请求 发送请求有两种方式:get 跟 post . 1.get仅请求数据,不需要服务端做处理,最后会返回指定的资源. 2.post可以提交数据,服务端根据提交的数据做处理,再返回数据. 二,创建X ...
随机推荐
- [2016北京集训试题6]mushroom-[bitset]
Description Solution bitset是个好东西啊..强行压位什么的真是够orz. 由于所有的蘑菇上房间的长相是一样的,我们针对每个房间,算出它到根节点的bitset和以它为根的子树的 ...
- 洛咕 P3645 [APIO2015]雅加达的摩天楼
暴力连边可以每个bi向i+kdi连边权是k的边. 考虑这样的优化: 然后发现显然是不行的,因为可能还没有走到一个dog的建筑物就走了这个dog的边. 然后就有一个很妙的方法--建一个新的图,和原图分开 ...
- guacamole实现RDP的下载
1. 配置说明 1.1 主要特别配置以下三项 enable-drive 默认情况下禁用文件传输,但启用文件传输后,RDP用户可以将文件传输到持久存在于Guacamole服务器上的虚拟驱动器.通过将此参 ...
- JAVA StringUtils需要导入的包
<!-- https://mvnrepository.com/artifact/commons-lang/commons-lang --> <dependency> <g ...
- Linux之linux基础命令2
目录相关: 创建目录: mkdir 目录名 递归创建a/b c/d: mkdir -p a/b c/d 递归创建test/a,b,c,d四个目录: mkdir - p test{a,b,c,d} 递归 ...
- Rmdir方法
删除现有目录或文件夹. 语法 RmDir路径 所需的_路径_参数标识的目录或文件夹要移除的字符串表达式. _路径_可以包含驱动器. 如果没有指定驱动器, RmDir 将删除当前驱动器上的目录或文件夹. ...
- 大数据中HBase集群搭建与配置
hbase是分布式列式存储数据库,前提条件是需要搭建hadoop集群,需要Zookeeper集群提供znode锁机制,hadoop集群已经搭建,参考 Hadoop集群搭建 ,该文主要介绍Zookeep ...
- Fiddler接口测试(一)post接口测试
项目背景: 1.接口URL:http://192.168.xx.xx:8080/mserver/rest/ms 2.接口参数:data=xxxxx&key=xxxxx,数据是加密的 另一种参数 ...
- 使用request+Beautiful爬取妹子图
一.request安装 pip install requests request使用示例 import requests response = requests.get('https://www.mz ...
- Andorid Studio 模块化开发相关配置
Andorid Studio 模块化开发相关配置 下面以宿主APP模块和Uer_Module模块为例: 第一步:在项目根目录gradle.properties配置文件中添加如下代码 isNeedUse ...