关于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 ...
随机推荐
- 高可用之KeepAlived(一):基本概念和配置文件分析
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- ./init的含义
.代表当前目录,./后往往会跟上要运行的脚本文件.相关的例子,..代表上一级目录.
- MySQL主从复制_复制过滤
关于主从过滤,建议只在从服务器做设定,在Master 端为保证二进制日志的完整, 不建议使用二进制日志过滤. Master 可用参数: binlog-do-db= #定义白名单,仅将制定数据库的相关操 ...
- selenium+chrome抓取淘宝搜索抓娃娃关键页面
最近迷上了抓娃娃,去富国海底世界抓了不少,完全停不下来,还下各种抓娃娃的软件,梦想着有一天买个抓娃娃的机器存家里~.~ 今天顺便抓了下马爸爸家抓娃娃机器的信息,晚辈只是觉得翻得手酸,本来100页的数据 ...
- SDL 2.0 如何在 windows 上使用?
https://wiki.libsdl.org/APIByCategory http://adolfans.github.io/sdltutorialcn/sdl-2-dot-0-tutorial-i ...
- Linux shell的问题
1.uptime命令可以查看当前系统的启动时间: w命令显示当前登录者top命令显示当前任务ps命令显示所有进程信息 uptime命令可以查看系统启动时间 2.使用shell时,默认的环境变量放在 ...
- Java并发编程-线程可见性&线程封闭&指令重排序
一.指令重排序 例子如下: public class Visibility1 { public static boolean ready; public static int number; } pu ...
- WEB 小案例 -- 网上书城(二)
寒假结束了,自己的颓废时间同样结束了,早该继续写博客了,尽管我的格式以及内容由于各种原因老被卡,但必须坚持写下去!!! 上次我们对于本案例的数据库部分进行了阐述,这次主要接着上次的内容分享本案例的翻页 ...
- linux 运维 nginx服务器
nginx(web服务器) nginx是一个高性能的http和反向代理服务器,同时也是一个imap/pop3/smtp 代理服务器比apache简单官网:http://nginx.org nginx配 ...
- js中的Object.defineProperty()和defineProperties()详解
ECMAS-262第5版在定义只有内部采用的特性时,提供了描述了属性特征的几种属性.ECMAScript对象中目前存在的属性描述符主要有两种,数据描述符(数据属性)和存取描述符(访问器属性),数据描述 ...