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>