ajax.js

// 引用expess框架
const express = require('express');
// 处理路径
const path = require('path');const bodyParser = require('body-parser');
const fs = require('fs');// 创建网站服务器
const app = express();
app.use(bodyParser.json());
app.get('/first', (req, res) => {res.send('hello geyao')
})
app.get('/responsdate', (req, res) => {res.status(400).send({ "name": "geyao" })
})
app.post('/post', (req, res) => {res.send(req.body);
})
app.get('/get', (req, res) => {res.send(req.query);
})
app.post('/json', (req, res) => {res.send(req.body);
})
app.get('/readystate', (req, res) => {res.send('hello');
})
app.get('/error', (req, res) => {res.status(400).send('not ok');
})
app.get('/geyao', (req, res) => {res.send('hello geyao')
})
app.get('/cache', (req, res) => {fs.readFile('./text.txt', (err, result) => {res.send(result);});
})
app.use(express.static(path.join(__dirname)));
// 监听端口
app.listen(3000);
console.log('网站服务器启动成功, 请访问localhost')

ajax10.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><script>function ajax(options) {//创建ajax对象var xhr = new XMLHttpRequest();var params = '';//循环用户的参数for (var attr in options.data) {params += attr + '=' + options.data[attr] + '&'}params = params.substr(0, params.length - 1);if (options.type == 'get') {options.url = options.url + '?' + params;}console.log(params);//配置ajax对象xhr.open(options.type, options.url);//发送请求if (options.type == 'post') {var contentType = options.header['Content-Type'];xhr.setRequestHeader('Content-type', options.header['Content-Type']);if (contentType == 'application/json') {xhr.send(JSON.stringify(options.data))} else {xhr.send(params);}} else {xhr.send();}//触发xhr.onload = function() {//获取响应头的数据var contentType = xhr.getResponseHeader('Content-Type');//服务器端返回数据var responseText = xhr.responseText;if (contentType.includes('application/json')) {responseText = JSON.parse(responseText);}//状态码分开if (xhr.status == 200) {console.log(responseText, xhr);options.success('hah');} else {options.error(responseText, xhr);}}}ajax({type: 'get',data: {name: 'geayo',age: 20},url: 'http://localhost:3000/responsdate',success: function(data) {console.log('这里是成功函数' + data);},error: function(data, xhr) {console.log('这里是失败函数' + data);console.log(xhr);},header: {'Content-Type': 'application/json'}})</script>
</body></html>

ajax1.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><script>//1创建ajax对象var xhr = new XMLHttpRequest();//请求方式xhr.open('get', 'http://localhost:3000/responsdate');//发送请求xhr.send();//获取数据xhr.onload = function() {/* console.log(xhr.responseText); */var res = JSON.parse(xhr.responseText);console.log(res);var str = '<h2></h2>'document.body.innerHTML = str;}</script>
</body></html>

运行结果

前端学习(1430):ajax封装五相关推荐

  1. 前端一定得学ajax吗,前端学习之ajax

    一.什么是json JSON(JavaScriptObjectNotation,JS对象标记)是一种轻量级的数据交换格式. 它基于ECMAScript(w3c制定的js规范)的一个子集,采用完全独立于 ...

  2. 前端学习笔记——Ajax

    URL地址 URL地址的概念 URL (全称是UniformResourcel ocator)中文叫统一资源定位符, 用于标识互联网上每个资源的唯一存放位置,浏览器只有通过URL地址,才能正确定位资源 ...

  3. 前端学习笔记--AJAX的应用(三)form表单改为AJAX提交

     无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程. 参考博客:http://ww ...

  4. Web前端学习笔记(十五)---四色花瓣

    效果展示 Demo代码 HTML CSS 学习于:YouTube 代码获取如下

  5. 前端学习第一阶段——第五章 CSS(上)

    5-1 CSS基本选择器 01-CSS层叠样式表导读 02-CSS简介 03-体验CSS语法规范 04-CSS代码风格 05-CSS选择器的作用 06-标签选择器 07-类选择器 08-使用类选择器画 ...

  6. addeventlistener不支持ajax_好程序员web前端学习路线分享了解AJAX是什么

    好程序员web前端学习路线分享了解AJAX是什么首先是服务器 什么是服务器:咱们的页面来源于服务器:实例(在phpnwo上面存放一个页面), 咱们把页面放在互联网的服务器上,就有了自己的网站了. 1. ...

  7. ajax请求是宏任务还是微任务_好程序员web前端学习路线分享了解AJAX是什么

    好程序员web前端学习路线分享了解AJAX是什么首先是服务器 什么是服务器:咱们的页面来源于服务器:实例(在phpnwo上面存放一个页面), 咱们把页面放在互联网的服务器上,就有了自己的网站了. 1. ...

  8. Web前端学习第五周

    Web前端学习第五周 strong和b.em和i strong 和 em 都是表示强调的标签,表现形态为文本加粗和斜体. b 和 i 标签同样也表示文本加粗和斜体. 区别在于,strong和em 是具 ...

  9. 五个大学生前端学习网站推荐

    不知不觉已经到网站推荐的第二期了,最近有人私信问我有没有好的前端网站推荐,接下来我便向大家推荐一下我曾经学习前端所用的网站(有一些网站比较冷门,但我觉得还不错) 一.W3school 传送门:w3sc ...

最新文章

  1. Delphi 调用webservice接口
  2. 部署FTP服务器及其管理
  3. 深入跨域问题(2) - 利用 CORS 解决跨域
  4. 优酷在多模态内容理解上的研究及应用
  5. jdk和maven配置
  6. C++(9)--裸指针、智能指针、引用
  7. python 编译 pyc
  8. 新零售时代,美妆行业如何打造新主场?
  9. 朱光潜:要有悲剧,才能算人生
  10. java正则表达式的进阶使用20180912
  11. Android约束布局
  12. JAVA中操作数据库方式与设计模式的应用 --青山不改绿水长流-EKing
  13. Elasticsearch-7(全文搜索应用分享)
  14. C语言之三种基本结构
  15. html唱片机效果,黑胶唱片风格音频播放器jQuery插件
  16. 2020-02-23
  17. 财务共享中心计件需求
  18. GPS定位系统(一)——介绍
  19. 羽素携手维琪共展科研实力,造护肤“芯”产链
  20. 基于SSM职业测评系统

热门文章

  1. 1-1、article元素
  2. TOMCAT启动完成但是ECLIPSE仍然显示starting....
  3. a href='?out=login'是什么意思
  4. 2018计算机应用基础考试6,2018结构工程师《计算机应用基础》试题(6)
  5. export mysql home_mysql的Linux下安装笔记
  6. 数据库杂谈(七)——数据库的存储结构
  7. CentOS SSH公钥登录问题
  8. Ubuntu server下“初始化月份字符串出错”的解决
  9. C++面试题目(五)
  10. el-select回显