- AJAX 教程
- AJAX - 教程
- AJAX - 什么是 AJAX?
- Ajax - 历史
- Ajax - 动态站点与静态站点
- AJAX - 技术
- AJAX - action(操作)
- AJAX - XMLHttpRequest
- AJAX - 发送请求
- AJAX - 请求类型
- AJAX - 处理响应
- AJAX - 处理二进制数据
- AJAX - 提交表单
- AJAX - 文件上传
- AJAX - FormData 对象
- AJAX - 发送 POST 请求
- AJAX - 发送 PUT 请求
- AJAX - 发送 JSON 数据
- AJAX - 发送数据对象
- AJAX - 监控进度
- AJAX - 状态代码
- AJAX - 应用程序
- AJAX - 浏览器兼容性
- AJAX - 浏览器支持
- AJAX - 数据库操作
- AJAX - 安全性
- AJAX - 常见问题
- Fetch API 基础知识
- Fetch API - 基础知识
- Fetch API 与 XMLHttpRequest
- Fetch API - 浏览器兼容性
- Fetch API - headers
- Fetch API - 请求
- Fetch API - 响应
- Fetch API - 正文数据
- Fetch API - 凭证
- Fetch API - 发送 GET 请求
- Fetch API - 发送 POST 请求
- Fetch API - 发送 PUT 请求
- Fetch API - 发送 JSON 数据
- Fetch API - 发送数据对象
- Fetch API - 自定义请求对象
- Fetch API - 上传文件
- Fetch API - 处理二进制数据
- Fetch API - 状态代码
- Stream API 基础知识
- Stream API - 基础
- Stream API - 可读流
- Stream API - 可写流
- Stream API - 转换流
- stream API - 请求对象
- stream API - 响应正文
- Stream API - 错误处理
AJAX - 浏览器支持
所有可用的浏览器都不支持 AJAX。以下是支持 AJAX 的主要浏览器列表。
- Mozilla Firefox 1.0 及更高版本。
- Netscape 版本 7.1 及更高版本。
- Apple Safari 1.2 及更高版本。
- Microsoft Internet Explorer 5 及更高版本。
- Konqueror.
- Opera 7.6 及更高版本。
当您编写下一个应用程序时,请考虑不支持 AJAX 的浏览器。
注意 − 当我们说浏览器不支持 AJAX 时,它只是意味着浏览器不支持创建 Javascript 对象 - XMLHttpRequest 对象。
编写特定于浏览器的代码
使源代码与浏览器兼容的最简单方法是使用 try...catch 块。
例
<html>
<body>
<script language = "javascript" type = "text/javascript">
<!--
//Browser Support Code
function ajaxFunction() {
var ajaxRequest; // The variable that makes Ajax possible!
try {
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e) {
// Internet Explorer Browsers
try {
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
}
//-->
</script>
<form name = 'myForm'>
Name: <input type = 'text' name = 'username' /> <br />
Time: <input type = 'text' name = 'time' />
</form>
</body>
</html>
输出
在上面的 JavaScript 代码中,我们尝试了 3 次来制作我们的 XMLHttpRequest 对象。我们的第一次尝试 -
- ajaxRequest = new XMLHttpRequest();
它适用于 Opera 8.0+、Firefox 和 Safari 浏览器。如果失败,我们再尝试两次,为 Internet Explorer 浏览器创建正确的对象 -
- ajaxRequest = new ActiveXObject(“Msxml2.XMLHTTP”);
- ajaxRequest = new ActiveXObject(“Microsoft.XMLHTTP”);
如果它不起作用,那么我们可以使用一个非常过时的浏览器,它不支持 XMLHttpRequest,这也意味着它不支持 AJAX。
不过,我们的变量 ajaxRequest 现在很可能会设置为浏览器使用的任何 XMLHttpRequest 标准,我们可以开始向服务器发送数据。分步 AJAX 工作流将在下一章中介绍。