AJAX

1.1AJAX 简介

1.Ajax即AsynchronousJavascriptAndXML(异步JavaScript和 XML)

2.Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。

3.使用Ajax技术网页应用能够快速地将增量更新呈现在 用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。

1.2XML简介

1.xml可扩展标记语言

2.xml 被用来传输和存储数据

3.XML的简单易于在任何应用程序中读/写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其他的数据交换格式,但不久之后它们都将支持XML,那就意味着程序可以更容易的与 Windows、 Mac OS、 Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析它,并以XML格式输出结果。

4.html是预定义标签,xml是自定义标签。

1.3AJAX的特点

1. ajax的最大的优点就是实现动态不刷新,通过异步方式,来提升用户的体验,同时优化了浏览器和服务器之间的传输

2. 可以把一部分以前由服务器负担的工作转移到客户端,利用客户端闲置的资源进行处理,减轻服务器和带宽的负担,节约空间和成本。

3. 基于 Web标准,使用文档对象模板(Document Object Model)作动态显示和交互;使用XML和XSLT进行数据交换及相关操作;使用XMLHTTPRequest进行异步数据查询和接收;使用JavaScript将所有的东西绑定在一起。

简单来说就是:

1.3.1AJAX的优点:

1)可无需刷新页面与服务器端进行通信

2)允许你更具用户事件来更新部分分页内容

1.3.2AJAX的缺点:

1)没有浏览历史,不能退回

2)存在跨域问题(同源)

3)SEO不友好

1.4环境配置:

网址: nodejs.cn

根据自己的电脑配置选择安装:

!如果你是Windows系统的话,这边推荐安装(.msi)的就可以了

安装完成后我们得以使用快捷件 ctrl + r 调出命令行

输入命令: node -v

得到如图效果便为安装成功:

2.Express 基于 Node.js平台的服务端框架

1)打开vscode软件

2) 在终端打开:

a.进行初始化

输入命令:npm init --yes

b.安装我们的Espress框架

输入命令:npm i express

等待安装成功

3)express基本使用:

我们右键终端打开执行代码:

输入命令:node 脚本名

得到结果:

这时我们可以看到我们的8000端口正在监听!!

3.AJAX案例

单击网页中的按钮和实现和服务端的交互 (GET)

4..AJAX案例

当鼠标悬浮时和服务端发生交互,返回一个字符串

服务端代码块:

实现效果

5.AJAX案例

监听键盘按压,和服务端进行交互,返回一个数值

服务端代码块


实现效果图:

6.AJAX案例

针对ie缓存问题,的解决办法:

服务端代码块:

//1.引入express
const express = require('express');
//2.创建应用应用对象
const app = express();
//创建路由规则
//request 是请求报文的封装
//response 是对响应报文的封装

app.get('/server', (request, response)=>{
    //设置一个响应头 这只是设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    //设置响应
    response.send('HELLO EXPRESS');
});

app.all('/server', (request, response)=>{
    //设置一个响应头 这只是设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    //响应头
    response.setHeader('Access-Control-Allow-Headers','*');
    //设置响应
    response.send('HELLO EXPRESS POST');
});

app.all('/json-server', (request, response)=>{
    //设置一个响应头 这只是设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    //响应头
    response.setHeader('Access-Control-Allow-Headers','*');
    //响应一个数据
    const data = {
        name: 'atguoaing'
    };
    //进行对对象字符串的转化
    let str = JSON.stringify(data);
    response.send(str);
    //设置响应
    response.send('HELLO AJAX JSON');
});
//针对ie缓存
app.get('/ie', (request, response)=>{
    //设置一个响应头 这只是设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    //设置响应
    response.send('HELLO ie');
});
//延迟响应
app.get('/eelay', (request, response)=>{
    //设置一个响应头 这只是设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    //设置一个定时器
    setTimeout(() => {
        response.send('延迟响应');
    },3000)
    //设置响应
    
});


//4.监听端口启动服务
app.listen(8000,()=>{
    console.log("服务已经启动,8000 端口监听中.....");
});
 

7.AJAX案例

当超时或网络异常我们怎么做一个处理:

服务端代码块:

//1.引入express
const express = require('express');
//2.创建应用应用对象
const app = express();
//创建路由规则
//request 是请求报文的封装
//response 是对响应报文的封装

app.get('/server', (request, response)=>{
    //设置一个响应头 这只是设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    //设置响应
    response.send('HELLO EXPRESS');
});

app.all('/server', (request, response)=>{
    //设置一个响应头 这只是设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    //响应头
    response.setHeader('Access-Control-Allow-Headers','*');
    //设置响应
    response.send('HELLO EXPRESS POST');
});

app.all('/json-server', (request, response)=>{
    //设置一个响应头 这只是设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    //响应头
    response.setHeader('Access-Control-Allow-Headers','*');
    //响应一个数据
    const data = {
        name: 'atguoaing'
    };
    //进行对对象字符串的转化
    let str = JSON.stringify(data);
    response.send(str);
    //设置响应
    response.send('HELLO AJAX JSON');
});
//针对ie缓存
app.get('/ie', (request, response)=>{
    //设置一个响应头 这只是设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    //设置响应
    response.send('HELLO ie');
});
//延迟响应
app.get('/eelay', (request, response)=>{
    //设置一个响应头 这只是设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    //设置一个定时器
    setTimeout(() => {
        response.send('延迟响应');
    },3000)
    //设置响应
    
});


//4.监听端口启动服务
app.listen(8000,()=>{
    console.log("服务已经启动,8000 端口监听中.....");
});
 

代做工资流水公司扬州企业贷流水开具信阳背调流水多少钱淮安薪资银行流水价格惠州查询银行流水账单宜春个人银行流水费用九江企业对公流水开具许昌车贷银行流水 图片贵阳入职工资流水样本武汉查询转账银行流水遵义薪资流水汕头代开工作收入证明菏泽打公司银行流水银川收入证明代办赣州代开银行流水电子版廊坊流水单代做株洲查询个人工资流水临沂车贷银行流水天津工资银行流水模板南京制作银行流水账常德查银行流水电子版江门做薪资流水单襄阳转账银行流水公司潮州开转账流水潍坊打印工资流水单蚌埠打对公账户流水湛江银行流水修改模板洛阳开收入证明赣州对公银行流水代做衡阳做房贷收入证明北京开背调工资流水香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化