当前位置: 首页 > news >正文

做公司网站解析学生个人网页制作素材

做公司网站解析,学生个人网页制作素材,网站建设与优化合同,设计专业知名企业网站跨域是为了解决浏览器请求域名,协议,端口不同的接口,相同的接口是不需要实现跨域的。 1.使用JSONP格式实现跨域 实现步骤 动态创建一个script标签 src指向接口的地址 定义一个函数和后端调用的函数名一样 实现代码 -- 在nodejs中使用http内…

跨域是为了解决浏览器请求域名,协议,端口不同的接口,相同的接口是不需要实现跨域的。

1.使用JSONP格式实现跨域

实现步骤

  1.  动态创建一个script标签
  2.  src指向接口的地址
  3.  定义一个函数和后端调用的函数名一样

实现代码 -- 在nodejs中使用http内置模块起一个服务,端口号为3000

const url = require('url')const http = require('http')const server = http.createServer((req,res)=>{if(req.url === '/favicon.ico') return  //图标忽略 --- 图标地址也会请求后台服务const {query,pathname} = url.parse(req.url,true)  //若加上true这个参数,query字符串参数会自动转成对象格式//设置头部信息 状态为200 内容为JSON格式  如果要返回html片段这设置为text/htmlres.writeHead(200, { 'Content-Type': 'application/json' });if(pathname == '/api/data'){//定义对象,返回给前端的   数据const obj = {code:200,message:'jsonp形式返回给前端'}//返回一个JSON调用的函数res.end(`toFront(${JSON.stringify(obj)})`)}else{//简单处理了res.writeHead(404, { 'Content-Type': 'application/json' });res.end('404')}//jsonp跨域操作//  console.log(req.url) //获取请求除域名外的地址 例如 localhost:300/api  只获取/api
})
server.listen(3000,()=>{console.log("服务已启动")
})

在客户端的代码

 <script type="text/javascript">//jsonp跨域步骤//1.动态创建一个script标签const newscript = document.createElement('script')//2.src指向接口的地址newscript.src = 'http://localhost:3000/api/data'document.body.appendChild(newscript  )//3.定义一个函数和后端调用的函数名一样function toFront(res){//后台返回的数据  这个函数是后台服务调用过来的console.log(res) }</script>

执行的结果 ,返回一个JSON格式的文档

 2.使用cors实现跨域

核心是将响应的数据头部设置一个'access-control-allow-origin':'*',允许所有接口来访问浏览器,把浏览器允许的接口设置开放就好了。若不设置会出现明显的跨域报错问题

下面设置下头部信息

const server = http.createServer((req,res)=>{if(req.url === '/favicon.ico') return  //图标忽略 --- 图标地址也会请求后台服务const {query,pathname} = url.parse(req.url,true)  //若加上true这个参数,query字符串参数会自动转成对象格式//设置头部信息 状态为200 内容为JSON格式  如果要返回html片段这设置为text/html//核心代码需要将头部的access-control-allow-origin 设置为*res.writeHead(200, { 'Content-Type': 'application/json','access-control-allow-origin':'*'});if(pathname == '/api/data'){//定义对象,返回给前端的   数据const obj = {code:200,message:'cors形式返回给前端'}//返回一个JSON调用的函数res.end(`${JSON.stringify(obj)}`)}else{//简单处理了res.writeHead(404, { 'Content-Type': 'application/json' });res.end('404')}//jsonp跨域操作//  console.log(req.url) //获取请求除域名外的地址 例如 localhost:300/api  只获取/api
})
server.listen(3000,()=>{console.log("服务已启动")
})

 客户端请求

 //cors跨域fetch('http://localhost:3000/api/data').then(res=>res.json()).then(res=>console.log(res))

结果如下

http://www.tj-hxxt.cn/news/15255.html

相关文章:

  • wordpress动态页面 收录宁波seo外包费用
  • 上海市南汇中学官网首页广州百度推广优化排名
  • 做网站先做ue百度搜索引擎优化方式
  • 广州旅游网站建设设计安卓aso关键词优化
  • 免费的域名注册网站ds2600ii色带
  • 景区智慧旅游网站建设seo下拉优化
  • 私人网站服务器搭建nba西部最新排名
  • windows卸载wordpressseo短视频网页入口
  • wordpress 获取目录seo技术培训班
  • 桂林网站开发公司免费手机网站自助建站
  • 个人网站不能有盈利性质建设网页
  • 域名邮箱怎么申请优化方案官网电子版
  • 佛教网站建设怎么在百度上投放广告
  • 做的网站怎么上线常见的推广方式有哪些
  • 长沙市做网站什么平台可以免费推广产品
  • 微企免费网站建设网络营销推广实训报告
  • 如何做网店网站连云港百度推广总代理
  • 阳谷县住房建设委网站百度代发排名
  • 网络运维前景seo怎么推排名
  • 手机网站建设品牌百度网盘搜索
  • vue 直播网站开发站长推荐入口自动跳转
  • 温州的网站建设公司网站推广系统
  • 网站不能粘贴怎么做中国今天刚刚发生的新闻
  • 无锡做公司网站营销型企业网站
  • c2b是什么意思优化大师windows
  • 织梦模板免费seo服务外包价格
  • 公司网站做优化成都网站快速排名优化
  • 网站源代码怎么上传郑州seo顾问热狗
  • 做网站干嘛人力资源培训机构
  • 京东优惠劵网站怎么做培训课