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返回的必须是字符串 })
学习ajax所用的express服务
最新推荐文章于 2022-08-22 11:17:44 发布