关于AJAX异步请求的那些事儿(2)
1、使用AJAX发起GET请求消息
xhr.open("GET","XX.PHP?K1=V1$K2=V2",true);
xhr.send(null);
2、使用AJAX发起POST请求消息
xhr.open("POST","XX.PHP",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send('k1=v1&k2=v2');
请求消息的Content-Type头常用值:
text/plain : 客户端向服务器提交的请求主体是一些普通文本数据(未经编码)——很多Web服务器会直接拒绝接收这样的请求数据
application/x-www-form-urlencoded : 客户端向服务器提交的请求主体是经过了编码的文本数据——默认情况下,HTMLForm标签会把所有的表单数据编码之后再提交给服务器
multipart/form-data : 客户端向服务器提交的请求主体中包含上传的文件
注意:HTTP协议规定:请求消息传递给服务器的数据中不能包含中文、特殊标点符号
3、使用AJAX接收服务器端返回的text响应
服务器端:header("Content-Type","text/plain");
客户端:console.log(xhr.responseText);
4、使用AJAX接收服务器端返回的HTML响应
服务器端:header("Content-Type","text/html");
客户端接收:document.getElementByxxx().innerHTML=xhr.responseText;
5、使用AJAX接收服务器返回的JavaScript响应
服务器端:header('Content-Type', 'application/javascript')
客户端接收:typeof( xhr.responseText ); //string eva(xhr.responseText ); //把string作为js来执行
6、使用AJAX接收服务器返回的xml响应
服务器端:header('Content-Type', 'application/xml');
客户端:XML DOM,用于处理XML文档
XMLHttpRequest DOMParser - 可以把一段XML字符串解析为一棵DOM树
7、使用AJAX接收服务器返回的json响应
JSON:原本是JS中创建的对象的“直接量”法,后来从JS中独立出来,作为一种字符串数据的表示法,被各种语言所支持。其作用于XML类似,但比XML更加轻量级、简洁、处理速度更快。
JSON格式表示字符串,有两种格式:
JSON对象字符串格式:'{ "k1":"v1", "k2": v2 }'
JSON数组字符串格式:'[ v1, v2, v3... ]'
示例:异步的加载新闻列表
服务器端:
header('Content-Type: application/json');
$arr = [ ];
echo json_encode( $arr ); //PHP数组=>JSON字符串
客户端:var jsObj = JSON.parse( xhr.responseText ); //把JSON字符串解析为JS数组/对象
8、jQuery封装的AJAX $.ajax()
使用方法:
$.ajax( {
type: 'GET/POST/PUT/DELETE',
url: 'xx.php',
data: 'k1=v1&k2=v2' | {k1:v1, k2:v2},
dataType: 'text/html/script/xml/json/jsonp',
beforeSend: fn,
success: fn,
error: fn,
complete: fn
} )
注意:
在jQuery提供的所有AJAX函数中,提交的数据可以有两种形式:
(1)HTTP协议规定的标准格式: 'k1=v1&k2=v2...'
(2)JS对象格式:{ k1: v1, k2:v2 } jQuery在发送此格式的数据之前会自动调用$.param()函数,将JS对象改为第一种格式。
关于AJAX异步请求的那些事儿(2)的更多相关文章
- 关于AJAX异步请求的那些事儿(1)
1.什么事AJAX? Asynchronous Javascript And XML:异步的JS和XML,由Google2002年在GoogleSuggest应用提出,目标实现客户端和服务器“同时”运 ...
- ajax异步请求
做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...
- spring HandlerInterceptorAdapter拦截ajax异步请求,报错ERR_INCOMPLETE_CHUNKED_ENCODING
话不多说,直接上正文. 异常信息: Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING 问题描述: 该异常是在页面发送ajax请 ...
- jquery Ajax异步请求之session
写了一个脚本,如下: $(function () { $("#btnVcode").click(function () { var receiveMobile = $(" ...
- ajax异步请求Response.Redirect重定向
一个ajax异步请求报错->捕获异常->重定向错误提示页面. 一个简单的流程 结果一直搞不定.重定向无效.各种百度之. 后来突然想起 ajax的请求是不能在后台重定向的. 如果硬要重定向 ...
- jquery的ajax异步请求接收返回json数据
http://www.jb51.net/article/51122.htm jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发 ...
- MVC&WebForm对照学习:ajax异步请求
写在前面:由于工作需要,本人刚接触asp.net mvc,虽然webform的项目干过几个.但是也不是很精通.抛开asp.net webform和asp.net mvc的各自优劣和诸多差异先不说.我认 ...
- AJAX异步请求原理和过程
AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML),它不是一种新的编程语言,而是一种使用现有标准的新方法. AJAX 基于 JavaS ...
- Ajax异步请求-简单模版
<script type="text/javascript"> window.onload = function () { document.getElementByI ...
随机推荐
- java库中的具体的集合
1.ArrayList 一种可以动态增长和缩减的索引序列:速度较慢适合用于不修改太多的元素 采用的数组 2.LinkEdList 一种可以在任何位置进行高效的插入和删除操作的有序序列,适合于 ...
- Sphinx下载、安装、配置、Hello World、文档阅读
sphinx下载.安装.配置.Hello World.查看文档
- Egret学习笔记 (Egret打飞机-1.大致思路)
大致看了一遍Egret的官方文档,就开始打算使用Egret来开发一个打飞机游戏. 首先来捋一捋思路,先来看一看一个打飞机游戏的图片 基本上一个打飞机游戏分为 开始游戏 ----------进入游戏 ...
- HDU - 1430 魔板 (bfs预处理 + 康托)
对于该题可以直接预处理初始状态[0, 1, 2, 3, 4, 5, 6, 7]所有可以到达的状态,保存到达的路径,直接打印答案即可. 关于此处的状态转换:假设有初始状态为2,3,4,5,0,6,7,1 ...
- 天气类API调用的代码示例合集:全国天气预报、实时空气质量数据查询、PM2.5空气质量指数等
以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 全国天气预报:数据来自国家气象局,可根据地名.经纬度GPS.IP查 ...
- HTTP协议报文结构及示例
HTTP基本架构 下面我们用一张简单的流程图来展示HTTP协议基本架构,以便大家先有个基本的了解. 9.png Web Client可以是浏览器.搜索引擎.机器人等等一切基于HTTP协议发起http请 ...
- AnsibleAPI源码剖析(1)-Runner类的 初始化
#ansible版本说明:ansible1.9.1 1.简单使用例子 # -*- coding=utf-8 -*- import ansible.runner #################### ...
- mysql数据库 调优
mysql调优硬件配置网络带宽mysql运行参数慢查询日志网络架构多实例(一台服务器上运行多个数据库服务)分库分表 当一台数据库服务器处理客户端的请求慢时,可能是哪些原因造成? 硬件配置低:(内存 c ...
- mysql 主从同步 mysql代理服务器
搭建mysql主从同步(实现数据自动备份)实例:把主机192.168.4.100的数据库配置为主机192.168.4.99的从数据库 主数据库服务器配置修改配置文件: [root@mysql ~]# ...
- HighGUI图形图像界面初步——滑动条的创建和使用
---恢复内容开始--- 滑动条是OpenCV动态调节参数特别好用的一种工具,它依附于窗口而存在.由于OpenCV没有实现按钮功能,所以很多时候,我们可以用仅含0-1的滑动条来实现按钮的按下于弹起效果 ...