学习ajax所用的express服务

const express=require("express");
const {request, response} = require("express");
const app=express();
app.get('/server',(request,response)=>{
    response.setHeader("Access-Control-Allow-Origin","*");
    //访问控制允许控制 * 所有 跨域问题的屏蔽
    response.send("Hello Ajax ,我是get响应");
})
// app.post('/server',(request,response)=>{
//    response.setHeader("Access-Control-Allow-Origin","*");
//    response.send("我是Post响应");
// });
//.all是接受所以请求方法 是post的修改 是因为修改了请求头
app.all('/server',(request,response)=>{
    response.setHeader("Access-Control-Allow-Origin","*");
    response.setHeader("Access-Control-Allow-Headers","*");//小心拼错就不行了
    response.send("我是all响应,是post的升级版");
})
app.listen(8000,()=>{
console.log("服务启动.......");
})
app.all('/server-json',(request,response)=>{
    response.setHeader("Access-Control-Allow-Origin","*");
    response.setHeader("Access-Control-Allow-Headers","*");//小心拼错就不行了
    let A={
        name:"AJAX的JSON响应"
    }
    let data=JSON.stringify(A);
    response.send(data);//准备响应json 服务器端的响应回复的send只能响应buffer或字符串
})
/*
安装nodemon 来自重启服务
npm install -g nodemon
以后用nodemon 来启动服务文件
 */
/*
针对于ajax 请求有缓存希望取消这种缓存效果的方式 有在 get或post的请求参数中 ?t=+'Date.now();
 在请求参数中添加 参数t=当前时间戳时间戳是使用本地js的Date.now()方法来改变url的不同使他认为不是相同的请求
 就不会走缓存
 */
app.get('/server-delay',(request,response)=>{
    setTimeout(()=>{
        response.setHeader("Access-Control-Allow-Origin","*");
        response.setHeader("Access-Control-Allow-Headers","*");
        response.send("delay-Response:3s");
    },3000);//延迟3秒发送回复响应
})
app.get('/ky-server',(request,response)=>{
      //console.log(request.query.username);//request.query是url携带的参数, 那么request就是请求体的参数(这个没试过应该就是)
    let data={
        exist:0,
        msg:'名字不是jsonp.可以使用'
    };
    if (request.query.username==="jsonp"){
        data.exist=1;
        data.msg='名字是jsonp已经存在不可以使用';
        let data1=JSON.stringify(data);//对象不能直接传输要转化成字符串或buffer
        response.send(`handleView(${data1})`);//``反引号才可以直接使用${data}不用字符串拼接
    }else {
        let data1=JSON.stringify(data);
        response.send(`handleView(${data1})`);
    }//jsonp返回的必须是字符串
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值