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)的更多相关文章

  1. 关于AJAX异步请求的那些事儿(1)

    1.什么事AJAX? Asynchronous Javascript And XML:异步的JS和XML,由Google2002年在GoogleSuggest应用提出,目标实现客户端和服务器“同时”运 ...

  2. ajax异步请求

    做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...

  3. spring HandlerInterceptorAdapter拦截ajax异步请求,报错ERR_INCOMPLETE_CHUNKED_ENCODING

    话不多说,直接上正文. 异常信息: Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING 问题描述: 该异常是在页面发送ajax请 ...

  4. jquery Ajax异步请求之session

    写了一个脚本,如下: $(function () { $("#btnVcode").click(function () { var receiveMobile = $(" ...

  5. ajax异步请求Response.Redirect重定向

    一个ajax异步请求报错->捕获异常->重定向错误提示页面.  一个简单的流程 结果一直搞不定.重定向无效.各种百度之. 后来突然想起 ajax的请求是不能在后台重定向的. 如果硬要重定向 ...

  6. jquery的ajax异步请求接收返回json数据

    http://www.jb51.net/article/51122.htm jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发 ...

  7. MVC&WebForm对照学习:ajax异步请求

    写在前面:由于工作需要,本人刚接触asp.net mvc,虽然webform的项目干过几个.但是也不是很精通.抛开asp.net webform和asp.net mvc的各自优劣和诸多差异先不说.我认 ...

  8. AJAX异步请求原理和过程

    AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML),它不是一种新的编程语言,而是一种使用现有标准的新方法. AJAX 基于 JavaS ...

  9. Ajax异步请求-简单模版

    <script type="text/javascript"> window.onload = function () { document.getElementByI ...

随机推荐

  1. Android -传统蓝牙通信聊天

    概述 Android 传统蓝牙的使用,包括开关蓝牙.搜索设备.蓝牙连接.通信等. 详细 代码下载:http://www.demodashi.com/demo/10676.html 原文地址: Andr ...

  2. 关于 JS 拖拽功能的冲突问题及解决方法

    前言 我在之前写过关于 JS 拖拽的文章,实现方式和网上能搜到的方法大致相同,别无二致,但是在一次偶然的测试中发现,这种绑定事件的方式可能会和其它的拖拽事件产生冲突,由此产生了对于事件绑定的思考.本文 ...

  3. Redis限制在规定时间范围内登陆错误次数限制

    在博客里之前有过一篇文章是 <PHP结合Redis来限制用户或者IP某个时间段内访问的次数>,这篇文章的思路也是一样的.看下代码吧 //登录错误次数校验 $key = "logi ...

  4. Entity Framework——配置文件设置

    可以使用配置文件或代码(EF6起)配置EF框架. 一.使用配置文件 安装Entity Framework自动生成的配置 当使用VS的NuGet自动安装Entity Framework(本文使用6.2. ...

  5. 机器学习策略——DeepLearning.AI课程总结

    一.什么是ML策略 假设你正在训练一个分类器,你的系统已经达到了90%准确率,但是对于你的应用程序来说还不够好,此时你有很多的想法去继续改善你的系统: 收集更多训练数据 训练集的多样性不够,收集更多的 ...

  6. 【转载】一行代码加载网络图片到ImageView——Android Picasso

    原文链接:一句代码加载网络图片到ImageView——Android Picasso  注意:此处使用下面代码需要先配置一下gradle,下载所需包. 具体操作如下图: compile 'com.sq ...

  7. Luogu P1690 贪婪的Copy

    题目描述 Copy从卢牛那里听说在一片叫yz的神的领域埋藏着不少宝藏,于是Copy来到了这个被划分为个区域的神地.卢牛告诉了Copy这里共有个宝藏,分别放在第Pi个(1<=Pi<=N)区域 ...

  8. R语言 文本挖掘 tm包 使用

    #清除内存空间 rm(list=ls()) #导入tm包 library(tm) library(SnowballC) #查看tm包的文档 #vignette("tm") ##1. ...

  9. Java获取当前的日期和时间

    Java获取当前的日期和时间 1.具体实现方法如下 /** * @Title:DateTime.java * @Package:com.you.model * @Description:获取当前的日期 ...

  10. 【mongodb系统学习之十】mongodb查询(二)

    5).常用查询条件: a).比较操作符:"$lt","$lte","$gt","$gte",分别是<,<=, ...