Ajax的基本使用
目录请忽略下面的内容!
- Ajax的基本使用
- 传统网站当中存在的问题!
- Ajax
- 它是浏览器提供的一方法,可以实现页面无刷新更新数据,提高用户浏览网站应用的体验。
- Ajax的应用场景!
- Ajax的运行环境!
- Ajax技术需要运行在网站环境中才能生效,会使用Node创建的服务器作为网站服务器。
- 当然你的第一步就是在你的工作目录中下载express框架!
- Ajax技术需要运行在网站环境中才能生效,会使用Node创建的服务器作为网站服务器。
- 完成以上的步骤之后就可以开启本地网站服务器了!
- Ajax的实现步骤
- 实战演练:实现自己的服务器端向客户端【浏览器】响应消息!
- 我是以上面创建好的服务器为例!
- 这儿我就不进行更改了!, 你们晓得就行了!一定要仔细,引以为戒!哈!
- 最终的效果如下:
- 前言:
- 第一 创建一个Ajax对象
- 第二指定请求
- open()的第2个参数是URL,它是请求的主题。这是相对于文档的URL,这个文档包含调用open()的脚本。如果指定绝对URL、协议、主机和端口通常必须匹配所在文档的对应内容:跨域的请求通常会报错。(但是当服务器明确允许跨域请求时,2级当服务器的响应是可缓存时。“POST” 方法常用于HTML表单。它在请求主体中包含额外数据(表单数据)且这些数据常存储到服务器.上的数据库中(副作用)。相同URL的重复POST请求从服务器得到的响应可能不同,同时不应该缓存使用这个方法的请求。.
- 如果有请求头的话,请求进程的下个步骤是设置它。例如,POST请求需要“Content-Type”头指定请求主题的MIME类型:
- 最后一步 使用XMLHTTPRequest发起HTTP请求的最后一步是指定可选的请求主体并向服务器发送它。使用send()方法像如下这样做:
Ajax的基本使用
传统网站当中存在的问题!
-
网速慢的情况下,页面加载时间长,户只能等待
-
表单提交后,如果项内容不合格,需要重新填写所有表单内容
-
页面跳转,重新加载页面,造成资源浪费,增加用户等待时间
Ajax
它是浏览器提供的一方法,可以实现页面无刷新更新数据,提高用户浏览网站应用的体验。
Ajax的应用场景!
-
页面上拉加载更多数据
-
列表数据无刷新分页
-
表单项离开焦点数据验证
-
搜索框提示文字下拉洌表
Ajax的运行环境!
Ajax技术需要运行在网站环境中才能生效,会使用Node创建的服务器作为网站服务器。
当然你的第一步就是在你的工作目录中下载express框架!
index.html也是自己创建的!内容随便写!我写的就是:
还有,图中的app.js是自己创建的, 里面的内容就是下面的代码!
// 引入express框架 const express = require('express'); // 路径处理模块 const path = require('path'); // 创建web服务器 const app = express(); // 静态资源访问服务功能 app.use(express.static(path.join(__dirname, 'public'))); // 监听端口 app.listen(3003); // 控制台提示输出 console.log('the backgroundServer is running ! port is 3003')
完成以上的步骤之后就可以开启本地网站服务器了!
在你的命令行工具中输入node app.js(前提就是你要在你的当前的工作目录!简而言之就是要在你的app.js文件的那个目录!看下图!)
最终效果如下图所示:
如何使用Ajax技术向服务器发送请求!并实现在不刷新页面的情况下更新页面中的数据!
【看不见我!看不见我!看不见我!看不见我!看不见我!看不见我!】Ajax的实现步骤
- 创建Ajax对象!
const xhr = new XMLHTTPRequest();
- 告诉Ajax请求方式以及请求地址
xhr.open('get', 'http://www.baidu.com');
- 发送请求
xhr.send();
- 获取服务端给予客户端的响应数据
xhr.onload = function() { console.log(xhr.responseText); }
实战演练:实现自己的服务器端向客户端【浏览器】响应消息!
我是以上面创建好的服务器为例!
-
新建一个文件夹!随便取名!这里我就恬不知耻的用lvhang这个文件夹了哈!
-
当然如你所见, 这个文件夹下面还有一个html文件,你也要剑豪偶!
-
第三步就是你要在app.js文件中拼接你刚刚创建好的文件夹, 我的当然就是lvhang这个文件夹啦!
-
第四步当然就是正儿八经的coding啦!在lvhang文件下的html文件中!写如下的代码!其实就是Ajax的实现步骤喽!
- 在app.js中书写路由:重点是:服务端的请求方式和请求地址一定要和客户端对应起来! 也就是我们请求的方式是get, 那么书写路由时的方式也是get
// 第一个参数是地址, 第二个参数是请求处理函数! app.get('/basicUseOfAjaxTest', (req, res) => { res.send('我已经收到了你发送的消息!你成功的使用了Ajax!完成了Ajax的基本实现步骤!') })
- 最后一步就是你要到浏览器中访问我们创建的html文件!【前提是你得把本地服务器打开偶!】
咦,报错了!他说我的
XMLHTTPRequest is not defined
也就是没有定义!偶,原来是我写错了!上面的XMLHTTPRequest都写错了!正确的应该是!XMLHttpRequest
这儿我就不进行更改了!, 你们晓得就行了!一定要仔细,引以为戒!哈!
最终的效果如下:
请忽略下面的内容! 前言:
: 一个HTTP请求由4部分组成:
- HTTP请求方法或“动作”(verb)
- 正在请求的URL
- 一个可选的请求头集合,其中可能包括身份验证信息
- 一个可选的请求主体
: 服务器返回的HTTP响应包含3部分:
- -个数字和文字组成的状态码,用来显示请求的成功和失败
- -个响应头集合
- 响应主体
第一 创建一个Ajax对象
var request = new XMLHTTPRequest();
第二指定请求
创建XMLHtpRequest对象之后,发起HTTP请求的下- -步是调用XMLHttpRequest对象的open()方法去指定这个请求的两个必需部分:方法和URL. .
request.open('GET', 'https://lvhanghmm.gitee.io/x-blog');
open()的第-一个参数指定HTTP方法或动作。这个字符串不区分大小写,但通常大家用大写字母来匹配HTTP协议。“GET" 和“POST”方法是得到广泛支持的。“GET” 用于常规请求,它适用于当URL完全指定请求资源,当请求对服务器没有任何副作用以及当服务器的响应是可缓存时。“POST” 方法常用于HTML表单。它在请求主体中包含额外数据(表单数据)且这些数据常存储到服务器.上的数据库中(副作用)。相同URL的重复POST请求从服务器得到的响应可能不同,同时不应该缓存使用这个方法的请求。
open()的第2个参数是URL,它是请求的主题。这是相对于文档的URL,这个文档包含调用open()的脚本。如果指定绝对URL、协议、主机和端口通常必须匹配所在文档的对应内容:跨域的请求通常会报错。(但是当服务器明确允许跨域请求时,2级当服务器的响应是可缓存时。“POST” 方法常用于HTML表单。它在请求主体中包含额外数据(表单数据)且这些数据常存储到服务器.上的数据库中(副作用)。相同URL的重复POST请求从服务器得到的响应可能不同,同时不应该缓存使用这个方法的请求。.
如果有请求头的话,请求进程的下个步骤是设置它。例如,POST请求需要“Content-Type”头指定请求主题的MIME类型:
最后一步 使用XMLHTTPRequest发起HTTP请求的最后一步是指定可选的请求主体并向服务器发送它。使用send()方法像如下这样做:
request.send('lvhang');