博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript Ajax与Comet——“XMLHttpRequest2级”的注意要点
阅读量:6347 次
发布时间:2019-06-22

本文共 1384 字,大约阅读时间需要 4 分钟。

并非所有的浏览器都完整的实现了XMLHttpRequest 2 级的规范, 但是所有的浏览器都实现了它部分的规范。

FormData

  • FormData类型

  • append()向其添加数据,包含两个参数:键和值;

如:

var data = new FormData();data.append("name", "oliver");

也可以用表单元素的数据预先想其中填入键值对:

var data = new FormData(document.forms[0]);

它是为序列化表单以及创建于表单格式相同的数据提供了遍历:

var xhr = new XMLHttpRequest();xhr.onreadystatechange = function () {    if (xhr.readyState == 4) {        if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {            console.log(xhr.responseText);        } else {            console.log("error");        }    }};xhr.open("post", "postexample.php", true);var form = document.getElementById("form1");xhr.send(new FormData(form));

它的方便之处在于不用明确的在XHR对象上设置请求头部。

超时设定

IE8+唯一支持的超时设定事件,XHR对象的ontimeout事件。XHR对象的timeout设定超时时间,单位是毫秒数。这些设定要方法open之后,send之前。

var xhr = new XMLHttpRequest();xhr.onreadystatechange = function () {    if (xhr.readyState == 4) {        if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {            console.log(xhr.responseText);        } else {            console.log("error");        }    }};xhr.open("get", "getexample.php", true);xhr.timeout = 1000;xhr.ontimeout = function () {    alert("Request did not return in a second.");};xhr.send(null);

overrideMimeType()方法

用于重写XHR响应的MIME类型。它能强迫服务器返回的数据类型给些为本方法提供的类型。使用方法:

在open之后,send之前。

xhr.open("get", "getexample.php", true);xhr.overrideMimeType("text/xml");xhr.send(null);

转载地址:http://vbjla.baihongyu.com/

你可能感兴趣的文章
Oracle用户被锁定解决方法
查看>>
485总线的概念
查看>>
我的友情链接
查看>>
web前端笔记
查看>>
import 路径
查看>>
使用optimizely做A/B测试
查看>>
finally知识讲解
查看>>
Matplotlib绘图与可视化
查看>>
openstack ocata版(脚本)控制节点安装
查看>>
【微信公众号开发】获取并保存access_token、jsapi_ticket票据(可用于微信分享、语音识别等等)...
查看>>
在开发中处理海量数据的方法 思路
查看>>
datatable 获取最大值
查看>>
sqlserver2012一直显示正在还原(Restoring)和从单用户转换成多用户模式(单用户连接中)...
查看>>
spark复习总结02
查看>>
李瑞红201771010111《第九周学习总结》
查看>>
[译]ZOOKEEPER RECIPES-Barriers
查看>>
navicat下载安装和激活一分钟完成
查看>>
6_5 一些有用网址
查看>>
NFC 鏈表操作
查看>>
pymongo模块
查看>>