ajax12-ajax封装四

简介: ajax12-ajax封装四
// 引用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() {
                //状态码分开
                if (xhr.status == 200) {
                    console.log(xhr.responseText, xhr);
                    options.success('hah');
                } else {
                    options.error(xhr.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>

image.png

相关文章
|
7月前
|
前端开发
AJAX发送请求方法封装和请求函数底层刨析以及axios二次封装
AJAX发送请求方法封装和请求函数底层刨析以及axios二次封装
|
7月前
|
前端开发 API
用promise封装ajax
用promise封装ajax
50 0
|
前端开发 JavaScript API
Promise封装Ajax请求
Promise封装Ajax请求
61 0
|
前端开发 JavaScript
js - 封装ajax
简单封装/使用promise封装ajax/封装:$.ajax()
|
小程序 前端开发
|
前端开发 JavaScript
uniapp中简单封装ajax
uniapp中简单封装ajax
225 0
Ajax-cookie用法及封装
Ajax-cookie用法及封装
149 12
Ajax-cookie用法及封装
|
前端开发
封装ajax请求接口
封装ajax请求接口
121 0
|
前端开发
ES6 从入门到精通 # 18:使用 Promise 封装 ajax
ES6 从入门到精通 # 18:使用 Promise 封装 ajax
146 0
ES6 从入门到精通 # 18:使用 Promise 封装 ajax
|
JSON 前端开发 JavaScript
jQuery封装Ajax,SpringMVC使用Ajax的配置
jQuery封装Ajax,SpringMVC使用Ajax的配置
173 0
jQuery封装Ajax,SpringMVC使用Ajax的配置