Ajax 随笔
例子:实现AJAX效果(投票例子)
后端代码

前端代码

原理是使用HTTP状态码204的特性(请求成功,但是不会返回内容,所以浏览器不会进行跳转)
例子:实现AJAX效果(投票例子2)
前端代码

原理是利用img,script等标签加载内容的特性
例子:实现AJAX效果(注册例子)
前端代码

后端代码

原理是利用iframe特性,将表单的target指向iframe后,服务器打印出来的内容会输出在iframe中
AJAX(XMLHttpRequest对象)
例子:发送GET请求
通过XMLHttpRequest对象还可以获取到响应信息里的内容

例子:发送POST请求

AJAX返回值类型
在AJAX1.0版本中AJAX的返回类型只有text和xml这两种类型
服务端返回xml数据处理
(1) 服务器响应的xml数据

(2)对xml数据进行处理

(3)处理后的xml数据

服务端返回json数据处理
(1) 服务器响应的json数据

(2) 对json数据进行处理

(3) 处理后的json数据

跨域问题
什么是跨域,跨域就是浏览器为了安全而不让不同域名之间可以进行消息通信,例如:http://www.xxx1.com不能与http://www.xxx2.com进行通信,http://www.xxx.com/xxx1不能与http://www.xxx.com/xxx2进行通信。当然并不是完全不能跨域比如<a>,<script>,<link>,<img>标签就能进行跨域,从其他域名网站中获取到数据。有时候我们异步到其他网站进行数据通信,这时候我们就能使用jsonp来解决,jsonp并不是什么特殊的技术,而是通过<script>能够跨域的特性,发送数据到服务器,服务器处理完数据后,返回一段JavaScript代码,通过这段代码调用本地写好的回调函数。
例子:jsonp
后端代码

前端代码

HTML5与AJAX
一般情况下有三种异步文件上传方式
(1)使用iframe上传文件
(2)使用flash上传文件
(3)使用HTML5的新API上传文件
例子:使用iframe上传文件
使用iframe上传文件大致分为以下几个步骤
(1)监听表单提交事件
(2)当表单提交时创建一个iframe,然后将表单的target指向iframe
(3)服务器上传成功后返回一段JavaScript代码,用于操作父页面的内容
前端代码

后端代码

例子:使用HTML5的FromData
前端代码

提交到后端的数据

例子:使用HTML5实现文件上传
前端代码

后端代码

上传后打印出来的信息

上传前

上传后

例子:利用xhr2新特性实现跨域
在HTML5中,AJAX的跨域有了新的规则,能否实现跨域取决于服务器的应答,服务器可以在响应的头信息中加上Access-Control-Allow-Origin这个header,它的值既可以是域名也可以是(表示任意的域名)
例子:利用xhr2新特性实现大文件切割上传
后端代码

前端代码


例子:长连接技术
长连接技术主要是利用HTTP协议的特性,通过不给content-length指定长度,让HTTP连接一直不断开,实现单向长连接,使得服务器可以向浏览器一直推送消息,所以长连接技术也叫做服务器推技术。由于建立长连接会造成阻塞,所以长连接一般会配合iframe来使用。
后端代码

浏览器中显示的效果


Ajax 随笔的更多相关文章
- Ajax随笔
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- AJAX随笔1
[1] AJAX简介 > 全称: Asynchronous JavaScript And XML > 异步的JavaScript和XML > AJAX就是通过JavaSc ...
- AJAX随笔2
Ajax作用: 是用JavaScript向服务器发送异步请求,然后服务器给出响应,然后以XML格式的文件返回给浏览器端! 异步: 当浏览器向服务器发送请求的时候,不是整个页面刷新,而是局部刷新[局部信 ...
- 原生Ajax封装随笔
XMLHttpRequest 对象用于和服务器交换数据.我们使用 XMLHttpRequest 对象的 open() 和 send() 方法: open(method,url,async) metho ...
- AJAX学习随笔
AJAX名为“啊,贾克斯”,听着挺怪的哈. 主要的技术就是XMLHttpRequest对象和Javascript 度娘的解答: AJAX即“AsynchronousJavascriptAndXML”( ...
- php随笔2-php+ajax 实现输入读取数据库显示匹配信息
dropbox_index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
- 对ajax基础的掌握随笔
原始的ajax,在第一个页面定义如下: function createAjax() { var xmlhttp; if (window.ActiveXObject) xmlhttp = new Act ...
- 学习随笔:Vue.js与Django交互以及Ajax和axios
1. Vue.js地址 Staticfile CDN(国内): https://cdn.staticfile.org/vue/2.2.2/vue.min.js unpkg:会保持和npm发布的最新的版 ...
- Ajax与XMLHttpRequest随笔
1.XMLHttpRequest对象 创建XHR对象:let xhr = new XMLHttpRequest(); open():启动一个请求准备发送 open()接收3个参数:请求类型('GET' ...
随机推荐
- Scala里面如何使用枚举
枚举通常用来定义已知数量的常量,比如月份,星期,季节等等,用过java的人都知道定义枚举的关键字是enum,在scala里面和java有所不同,来看一个完整的例子定义: object EnumTest ...
- [py]处理文件的3个方法
file处理的3个方法: f和f.readlines效果一样 # f.read() 所有行 -> 字符串 # f.readline 读取一行 -> 字符串 # f.readlines 所有 ...
- 总结C#获取当前路径的7种方法
C#获取当前路径的方法如下: 1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName -获取模块的完整路径. 2. ...
- #C++初学记录(sort函数)
sort函数 前言:当进行贪心算法的学习时,需要用到sort函数,因为初学c++汇编语言,sort的具体用法没有深入学习,所以这里进行sort学习记录并只有基础用法并借用贪心算法题目的代码. 百度百科 ...
- VS2010/MFC编程入门之三十九(文档、视图和框架:概述)
前面几节讲了菜单.工具栏和状态栏的使用,鸡啄米本节开始将为大家讲解文档.视图和框架的知识. 文档.视图和框架简介 在VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)创建的单文档工 ...
- 26最短路径之Floyd算法
Floyd算法 思想:将n个顶点的图G“分成”很多子图 每对顶点vi和vj对应子图Gij(i=0,1,…,n-1和j=0,1,…,n-1) 每对顶点vi和vj都保留一条顶点限于子图Gij中的最短路径P ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON MaxImage1
zw版[转发·台湾nvp系列Delphi例程]HALCON MaxImage1 procedure TForm1.FormShow(Sender: TObject);begin Set8087CW($ ...
- mac下安装了brew
使用mac后发现很多软件都可以通过终端命令brew...来安装. 查了一下,发现brew原来是osx系统上的软件包管理工具,全名是Homebrew,官网:https://brew.sh(这官竟然还包含 ...
- 20154312 曾林 EXP9 Web安全基础
目录 -0.webgoat Could not find source file -1.基础问题回答 -2.环境配置 -3.Injection Flaws ----3.1.Numeric SQL In ...
- Java微服务框架一览
引言:本文首先简单介绍了微服务的概念以及使用微服务所能带来的优势,然后结合实例介绍了几个常见的Java微服务框架. 微服务在开发领域的应用越来越广泛,因为开发人员致力于创建更大.更复杂的应用程序,而这 ...
