原生ajax

本文通过实例展示了如何使用Node.js的Express框架搭建服务器,并通过Ajax进行GET和POST请求。首先进行项目初始化和Express安装,接着创建.js文件配置服务器监听8000端口。然后,创建一个.html页面,实现原生Ajax的四步操作,包括创建对象、初始化请求、发送请求和处理响应。最后,给出了示例代码和Gitee上的项目链接供参考。
摘要由CSDN通过智能技术生成

启动服务器

  1.初始化 在项目右键(一定要是项目的空白部分),打开控制台

 
输入npm init --yes            做初始化                 (npm是node.js下的包管理工具)

2.安装express框架 输入npm i express  安装express框架



安装成功  可以用这个例子检验一下

 

https://gitee.com/rjgc1192/ajax/tree/master/   版本号是c08b98

 3.创建.js文件,作为服务器的配置

// 引入express
const express =require('express');
// 2.创建应用对象
const app =express();

// 3.创建路由规划
// request 是对请求报文的封装
// response是对响应报文的封装
// 要在后面输入server才可访问http://localhost:8000/server
app.get('/server',(request,response)=>{
    response.setHeader('Access-Control-Allow-Origin','*');
    // 设置响应
    response.send('hello  express');
});
app.post('/server',(request,response)=>{
    response.setHeader('Access-Control-Allow-Origin','*');
    // 设置响应
    response.send('hello  express');
});
// 当开启端口时执行的函数
app.listen(8000,()=>{
    console.log("服务已经启动,8000端口监听中");
})

右击文件js文件,打开控制台 输入 node 文件名.js  启动服务器

启动成功

在控制台,按下Ctrl+c 关闭服务器

关闭成功

4.新建一个 .html

使用原生的ajax有四步,1.创建对象  2.初始化请求方法和url  3.发送    4.事件绑定 处理服务端返回的结果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #response{
        width: 200px;
        height: 200px;
        border: 1px solid red;
        }
    </style>

</head>
<body>
    <button id="btn">点我提交</button>
    <div id="response">返回值</div>
    <a href="http://127.0.0.1:8000/server">点我提交</a>
    <form action="http://127.0.0.1:8000/server" method="post">
        <input type="text" name="name1">
        <button type="submit">提交</button>
    </form>
</body>
</html>
<script>
 
    btn.onclick=function(){
    // 1.创建对象
    const xhr=new XMLHttpRequest();
    const test=document.getElementById("response");
    // 2.初始化请求方法和url
    xhr.open('GET','http://127.0.0.1:8000/server?a=10&b=100');
    // 3.发送
    xhr.send();
    // 4.事件绑定 处理服务端返回的结果
    // on   当什么..的时候
    // readystate  是xml对象中的属性,表示状态 0 1 2 3 4
    // 0 未初始化  
    // 1 open方法调用完毕  
    // 2 send方法调用完毕  
    // 3 服务端返回了部分结果 
    // 4 服务端返回了所有结果
    xhr.onreadystatechange=function()
    
    { //判断 (服务端是否返回了所有的结果)
        if(xhr.readyState===4)
        {
            
            // 成功访问该页面(状态码是200-300)
            if(xhr.status>=200 &&xhr.status<300)
            {//获得 状态码  状态字符串 响应头  响应体
                console.log(xhr.status);//输出状态码
                console.log(xhr.statusText);//获取状态字符串4
                console.log(xhr.getAllResponseHeaders);//所有的响应头
                console.log(xhr.response);//响应体
                test.innerHTML=xhr.response;
            }
        }
    }
    }
</script>

例子在gitee上,https://gitee.com/rjgc1192/ajax/tree/master/

版本号是 2345542

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值