Ajax全接触(1)

Ajax全称:Asynchronous JavaScript and XML(异步的JavaScript和XML)

.Ajax不是某种编程语言

是一种在无需重新加载整个网页的情况之下能够更新部分网页的技术。

 

后面引入XMLHttpRequest对象用于后台和服务器交换数据,可以在不重新加载整个页面的前提下进行数据的刷新。

1.运用HTML和CSS来实现页面,表达信息;

2.运用XMLHttpRequest和web服务器进行数据的异步交换;

3.运用JavaScript操作DOM,实现动态局部刷新;

一、XMLHttpRequest对象的创建

1 //var request=new XMLHttpRequest();//不能兼容ie6
2 
3 var request;
4 if(window.XMLHttpRequest(){
5  request=new XMLHttpRequest();//IE7 ,Firefox,Chrome,Opera,Safari
6 }else{
7     request=new ActiveObject("Microsoft.XMLHTTP");//IE5,IE6
8 }

一个完整的HTTP请求过程:

1.建立TCP连接

2.Web浏览器向Web服务器发送请求命令

3.Web浏览器发送请求头信息

4.Web服务器应答

5.Web服务器发送应答头信息

6.Web服务器向浏览器发送数据

7.Web服务器关闭TCP连接

一个HTTP氢气一般由四部分组成:

1.HTTP请求的方法或动作,比如是GET还是POST请求

2.正在请求的URL,总得知道请求的地址是什么吧

3.请求头,包含一些客户端环境信息,身份验证信息等

4.请求体,也就是请求正文,请求正文中可以包含客户提交的查询字符串信息,表单信息等等。

一个典型的HTTP请求:

GET:一般用于信息获取

         使用URL传递参数

         对送发送信息的数量也有限制,一般在2000个字符

POST:一般用于修改服务器上的资源

          对送发送信息的数量无限制

一个HTTP响应一般由三部分组成:

1.一个数字和文字组成的状态码,用来显示请求是成功还是时报

2.响应头,响应头也和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度等

3.响应体,也就是响应正文

一个典型的HTTP响应内容

二.XMLHttpRequest发送请求

(1)open(method,url,async):method表示发送请求方法,post还是get,url表示请求地址,async表示请求是同步还是异步的,异步为true(默认,可不填),同步为false

(2)send(string):string可以拼在url中

1 request.open("GET","get.php",true);
2 request.send();
3 
4 request.open("POST","post.php",true);
5 request.send();//请求方式为post事send方法中若不带参数则没多大意义
6 
7 request.open("POST","create.php",true);
8 request.setRequestHeader("Content-type","application/x-www-form-ulencoded");//表示要发送一个表单
9 request.send("name=张三&sex=男");

三.XMLHttpRequest取得响应(获取响应的值)

(1)responseText:获得字符串形式的响应数据

(2)responseXML:获得XML形式的响应数据

(3)status和statusText:以数字和文本形式返回HTTP状态码

(4)getAllResponseHeader():获取所有的响应报头

(5)getResponseHeader():查询响应中的某个字段的值

readyState属性的变化代表中服务器响应的变化

0:请求未初始化,open还没有调用

1:服务器连接已建立,open已经调用了

2:请求已接收,也就是接收到头信息了

3:请求处理中,也就是接收到响应主体了

4:请求已完成,且响应已就绪,也就是响应完成了

需要监听这个属性的变化从而知道响应是否完成(用onreadystatechange这个事件)

var request=new XMLHttpRequest();
request.open("GET","get.php",true);
request.send();
request.onreadystatechange=function(){
if(request.readyState===4&&request.status===200){
//做一些事情 request.responseText
}
}

 

 

 

 

-------------------------------------------------慕课网视频学习记录


更多专业前端知识,请上 【猿2048】www.mk2048.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/363170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于hibernate字段映射@colunm出现的问题以及jpa驼峰大写转_小写的问题探究

关于hibernate字段映射colunm出现的问题以及jpa驼峰大写转_小写的问题探究2018年04月24日 15:47:26 守望dfdfdf 阅读数:735 标签: colunmhibernate表映射实体类 更多个人分类: 工作 问题编辑版权声明:本文为博主原创文章&#xff…

窗口模版

窗口模版 1. 定义窗口模版的ID 在wgui_categories_defs.h文件中有枚举enum MMI_CATEGORY_ID_LIST 首先要在MMI_CATEGORY_ID_LIST中添加窗口模版的ID,例如: MMI_CATEGORY36_ID 2. 控件坐标和控件数组的定义 CustCoordinates.c (plutommi"…

玩Java 8 – Lambda,路径和文件

我最近需要读取一堆文件,而不是仅仅抓住我和可能是大多数开发人员拥有的旧FileUtils.java,然后从一个项目复制到另一个项目,我决定快速了解其他方法。 是的,我知道有Commons IO和Google IO ,我为什么还要打扰&#xf…

vs.net2003无法打开.NET的Web应用服务

今天想打开web项目时提示:Visual Studio .NET 已检测到指定的Web服务器运行的不是ASP.NET 1.1版。您将无法运行ASP.NET Web应用原因大概是自己原来安装VS.NET2003时没有安装IIS,后来才装上的。自己重新安装了.NET Framework1.1还是不行。后来找到了找这个…

vue组件-使用插槽分发内容(slot)

slot--使用插槽分发内容(位置、槽口;作用: 占个位置) 官网API: https://cn.vuejs.org/v2/guide/components.html#使用插槽分发内容 使用组件时,有时子组件不知道会收到什么内容,这是由父组件决定的。 一…

LeetCode 上最难的链表算法题,没有之一!

题目来源于 LeetCode 第 23 号问题:合并 K 个排序链表。 该题在 LeetCode 官网上有关于链表的问题中标注为最难的一道题目:难度为 Hard ,通过率在链表 Hard 级别目前最低。 题目描述 合并 k 个排序链表,返回合并后的排序链表。请分…

处理Akka应用程序中的每个事件

这里的事件,那里的事件,到处都是事件。 发布有关检查每一项Akka事件最终都能找到归宿的信息。 Akka和基于事件的反应式应用程序是创建软件的新方法。 在当前基于Scala的项目中,我们非常密集地使用Akka。 事件非常适合我们的用例,…

js设置select列表中特定项为选中状态

设置select中text"paraText"的第一个Item为选中 function jsSelectItemByValue(objSelect,objItemText) { //判断是否存在 var isExit false; for(var i0;i<objSelect.options.length;i) { if(objSelect.options[i].text objItemText) { objSelect.options[i].s…

vue 导出html

vue的html代码 <template> <div class"contentsss" ref"test"> <button click"export2Excel">导出</button> </div> </template>methods方法 export2Excel() { var a document.createElement("a"…

js快排

快排的思路&#xff1a;选定一个基准数&#xff0c;要使得基数的左边的数字全部小于它&#xff0c;右边的数字全部大于它。分别设i和j从左右开始寻找&#xff0c;从左边找到第一个比基数大的数&#xff0c;从右边找到第一个比基数小的数&#xff0c;然后交换这两个数。 当i和j…

jzoj 6302. 提高组

Description 详见OJ Solution 对于\(limit1,2\)就是使序列\(1~n\)的排列。 对于\(limit3\)&#xff0c;我们可以将其看做是两个最长上升子序列正好覆盖整个序列&#xff0c;证明显然。 我们可以做一个前缀\(max\)序列。这样对于\(max[i]\)&#xff0c;保证\(max[i]>i\)。 而…

使用IntelliJ ..达2周,到目前为止一切正常

几乎已经过去了2个星期&#xff0c;我已经完全切换到IntelliJ作为我在家里和工作中的主要Java IDE。 到目前为止一切顺利&#xff0c;这是我的初步发现。 迁移 &#xff1a;我花了几个小时来迁移项目。 最终&#xff0c;如果您的项目已经Mavenized&#xff0c;事情就简单了&am…

WEB框架研究笔记一(准备)

DELPHI框架基本完成之后&#xff0c;开发一个WEB框架的想法越来越强烈&#xff0c;一直以来没有过完整的开发过一个WEB项目&#xff0c;这几年来&#xff0c;也就看过几个WEB的产品&#xff0c;了解了一下Struts&#xff0c;去年研究了一下DORADO&#xff0c;顺便了解了SpringH…

备份文件夹

用到的API和数据结构&#xff1a; WINDOWS数据结构&#xff1a; WIN32_FIND_DATA WINDOWS API&#xff1a; FindFirstFile FindNextFile CompareFileTime CopyFIle DeleteFile View Code #include <windows.h> #include <iostream> #include <string> using…

面试整理(1):原生ajax

接到电话面试&#xff0c;有一些送分题答的不好&#xff0c;在这里整理一下 问题&#xff1a;原生ajax的工作流程是怎么样的&#xff1f; 老用封装好的工具&#xff0c;原生的ajax其实并不熟悉&#xff0c;今天复习一下。主要参考http://www.w3school.com.cn/ajax/ 要发一个…

QT

Qt软件 Qt是一个跨平台的C图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的&#xff0c;很容易扩展&#xff0c;并且允许真正地组件编程。 自从1996年早些时候&#xff0c;Qt进入商业领域&#xff0c;它已经成为全…

IOS获取资源路径

1. 获取已经添加到xcode工程中的某一资源文件 file.txt 的路径 NSString *filePath_ [[NSBundle mainBundle] pathForResource:"file" ofType:"txt"]; std::string filePath std::string([filePath_ UTF8String]); 2. 对当前xcode工程开通沙盒权限后&#…

我从ColdFusion迁移到Java开发

尽管我在大学和研究生的整个职业生涯中都研究和尝试了不同的开发技术和工具&#xff0c;但我的全职职业生涯始于Adobe ColdFusion的开发。 从学校毕业后&#xff0c;使用技术解决现实世界中的业务问题本身就是一个挑战。 由于其相当简单的性质&#xff0c;ColdFusion不会妨碍您…

Azure IoT Hub和Event Hub相关的技术系列-索引篇

Azure IoT Hub和Event Hub相关的技术系列&#xff0c;最近已经整理了不少了&#xff0c;统一做一个索引链接&#xff0c;置顶。 Azure IoT 技术研究系列1-入门篇 Azure IoT 技术研究系列2-设备注册到Azure IoT Hub Azure IoT 技术研究系列3-设备到云、云到设备通信 Azure IoT 技…

spiderUI窗口过小解决

复制以下代码&#xff0c;直接替换此css样式即可&#xff1a; C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Lib\site-packages\pyspider\webui\static\debug.min.css body{margin:0;padding:0;height:100%;overflow:hidden}.warning{color:#f0ad4e}.error{…