文档章节

ajax 数据请求(一)同域

o
 osc_4nmshwhm
发布于 2018/08/07 11:17
字数 547
阅读 0
收藏 0
xhr

精选30+云产品,助力企业轻松上云!>>>

参考: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对象来处理

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

dict.items()和dict.iteritems()有什么区别?

问题: Are there any applicable differences between dict.items() and dict.iteritems() ? dict.items()和dict.iteritems()之间是否有适用的区别? From the Python docs: 从Python文档中......

法国红酒甜
29分钟前
20
0
R中“ =”和“ <-”赋值运算符有什么区别?

问题: What are the differences between the assignment operators = and <- in R? R中赋值运算符=和<-之间有什么区别? I know that operators are slightly different, as this example ......

fyin1314
59分钟前
20
0
之间的区别 和

问题: I'm learning Spring 3 and I don't seem to grasp the functionality behind <context:annotation-config> and <context:component-scan> . 我正在学习Spring 3,并且似乎不太了解<......

javail
今天
15
0
业内首款,百度工业视觉智能平台全新亮相

本文作者:y****n 业内首款全国产化工业视觉智能平台——百度工业视觉智能平台亮相中国机器视觉展(Vision China),该平台所具有的核心AI能力完全自主可控,在质检、巡检等场景中具有高效、...

百度开发者中心
昨天
7
0
我们如何制作xkcd样式图? - How can we make xkcd style graphs?

问题: Apparently, folk have figured out how to make xkcd style graphs in Mathematica and in LaTeX . 显然,民间已经想出了如何在Mathematica和LaTeX中制作xkcd风格的图形。 Can we d......

富含淀粉
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部