1.创建XMLHttpRequest对象
function createXMLHTTPRequest() {
//1.创建XMLHttpRequest对象
//这是XMLHttpReuquest对象无部使用中最复杂的一步
//需要针对IE和其他类型的浏览器建立这个对象的不同方式写不同的代码
var xmlHttpRequest;
if (window.XMLHttpRequest) {
//针对FireFox,Mozillar,Opera,Safari,IE7,IE8
xmlHttpRequest = new XMLHttpRequest();
//针对某些特定版本的mozillar浏览器的BUG进行修正
if (xmlHttpRequest.overrideMimeType) {
xmlHttpRequest.overrideMimeType("text/xml");
}
} else if (window.ActiveXObject) {
//针对IE6,IE5.5,IE5
//两个可以用于创建XMLHTTPRequest对象的控件名称,保存在一个js的数组中
//排在前面的版本较新
var activexName = [ "MSXML2.XMLHTTP", "Microsoft.XMLHTTP" ];
for ( var i = 0; i < activexName.length; i++) {
try {
//取出一个控件名进行创建,如果创建成功就终止循环
//如果创建失败,回抛出异常,然后可以继续循环,继续尝试创建
xmlHttpRequest = new ActiveXObject(activexName[i]);
if(xmlHttpRequest){
break;
}
} catch (e) {
}
}
}
return xmlHttpRequest;
}
2.get请求
function get(){
var req = createXMLHTTPRequest();
if(req){
req.open("GET", "http://test.com/?keywords=手机", true);
req.onreadystatechange = function(){
if(req.readyState == 4){
if(req.status == 200){
alert("success");
}else{
alert("error");
}
}
}
req.send(null);
}
}
3.post请求
function post(){
var req = createXMLHTTPRequest();
if(req){
req.open("POST", "http://test.com/", true);
req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=gbk;");
req.send("keywords=手机");
req.onreadystatechange = function(){
if(req.readyState == 4){
if(req.status == 200){
alert("success");
}else{
alert("error");
}
}
}
}
}
post请求需要设置请求头
4. readyState与status:
readyState有五种状态:
0 (未初始化): (XMLHttpRequest)对象已经创建,但还没有调用open()方法;
1 (载入):已经调用open() 方法,但尚未发送请求;
2 (载入完成): 请求已经发送完成;
3 (交互):可以接收到部分响应数据;
4 (完成):已经接收到了全部数据,并且连接已经关闭。
如此一来,你应该就能明白readyState的功能,而status实际是一种辅状态判断,只是status更多是服务器方的状态判断。关于status,由于它的状态有几十种,我只列出平时常用的几种:
100——客户必须继续发出请求
101——客户要求服务器根据请求转换HTTP协议版本
200——成功
201——提示知道新文件的URL
300——请求的资源可在多处得到
301——删除请求数据
404——没有发现文件、查询或URl
500——服务器产生内部错误
参考资料:
原生AJAX入门讲解
ajax(原生js学习)
分享到:
相关推荐
在这个名为“通过原生js和jQuery书写了一个电商平台系统.zip”的压缩包中,包含了一个使用JavaScript(包括原生JS和jQuery库)开发的前端电商平台项目。这个项目可能是一个基础的在线购物平台,展示了如何利用这两种...
jQuery 提供了一个简单易用的 API 来处理 AJAX 请求,使得开发者无需直接操作原生的 XMLHttpRequest 对象。 jQuery 中的 AJAX 方法主要有 `$.ajax()`,`$.get()` 和 `$.post()`。这里我们主要关注 `$.ajax()`,因为...
在Web开发中,原生AJAX(Asynchronous JavaScript and XML)是一种实现页面异步更新的重要技术,无需刷新整个页面即可与服务器进行数据交互。这里我们将深入探讨如何使用原生AJAX进行API调用,以及在实际项目中需要...
程序前端采用BootStrap框架搭建,后端采用PHP原生书写。 前端伪原创采用Ajax无刷新提交,Ajax转换到词库列表,目前已经收录6000多个同义词。 支持词库分页预览,支持提交同义词,检查词库是否存在同义词。 提交的...
了解 HTTP 协议,熟悉网络通信相关概念(重点,难点) 学会使用 JSON 数据的四种书写格式(重点,难点) 学会应用原生 Ajax 请求流程与细节(重点,难点) 掌握常见的跨域技巧(重点,难点)
如果在Ajax请求中将async设置为false,表示请求为同步模式,此时页面将等待该请求完成后再继续执行后续代码,这可以保证多个Ajax请求按照代码中书写的顺序依次执行。 在给定的文件内容中,描述了如何控制多个Ajax...
8. **异步编程**:如果日记应用涉及到服务器通信,比如同步到云服务,那么就会用到AJAX或Fetch API进行异步请求。 9. **响应式设计**:为了让日记应用在不同设备上都能良好显示,开发者可能会使用媒体查询、Flexbox...
5. 对于动态内容的加载,利用异步JavaScript与XML(Ajax)、Fetch API等技术,可以在不刷新整个页面的情况下,获取或更新页面中的部分内容。 总的来说,页面加载完毕执行事件代码是前端开发中的基础知识点,掌握好...
提供几个下划线的代码生成工具: _convutf8.asp --用于转换中文为UTF编码用于AJAX _mkcvatpl.asp --用于生成编程时用的代码书写模板 _viewsrc.asp --用于查看cvcore.asp的源代码注释 具体效果用IIS管理器运行...
本文档详细介绍了支付宝小程序开发中的JavaScript网络请求相关知识点,包括HTTP协议的基础概念、同源策略、GET与POST请求的区别、JSON数据的书写与转换方法、原生Ajax请求的流程与细节以及常见的跨域解决技巧。...
5. **前后端交互**:理解RESTful API设计,用JSON格式交换数据,学习如何通过Ajax或者fetch API在客户端与服务器之间进行异步通信。 6. **版本控制**:虽然压缩包中没有提及,但良好的开发习惯通常会使用Git进行...
响应式设计,移动端完全重新设计,模仿 iOS 原生 APP;主题的图片为双倍缩放,图标是字体图标,在 Retina 屏幕下依然有良好的显示效果 支持幻灯片功能,可以完全自定义幻灯片参数,并且幻灯片内容来源也有很丰富的...
3. ASP.NET AJAX:原生支持Ajax技术,可以创建无刷新的交互式Web应用。 4. LINQ:语言集成查询,允许开发者在C#或VB.NET中直接书写查询,简化了数据库查询操作。 三、ASP.NET 3.5的关键特性 1. 控件生命周期:理解...
-ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。 -加载s.gif图片在本机进行,不会请求extjs.com远程资源(feedback:efrigate43,abaocoole)...
-ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。 -加载s.gif图片在本机进行,不会请求extjs.com远程资源(feedback:efrigate43,abaocoole)...
_convutf8.asp --用于转换中文为UTF编码用于AJAX _mkcvatpl.asp --用于生成编程时用的代码书写模板 _viewsrc.asp --用于查看cvcore.asp的源代码注释 具体效果用IIS管理器运行一下就知道了。 数据库类...
- **AJAX支持**:简化了与服务器端的异步通信过程,使得数据可以在不刷新页面的情况下进行加载和更新。 - **插件扩展**:拥有庞大的社区支持,可以轻松找到或创建各种插件来增强其功能。 ### jQuery与JavaScript的...
* 掌握原生 JavaScript 操作 DOM,BOM 元素 * 对于 JS 中面向对象、继承、原型链、闭包等面向对象的知识有一定了解 * 熟练使用 AJAX/JSONP 进行前后端数据交互,理解 HTTP 协议,明白前后端的交互原理 三、框架/库/...
layui 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。它的设计目标是极致轻量、性能优越且组件丰富。 在 "layui admin 1.2.1" 中,我们可以深入探讨以下...