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

网站建设具体工作内容sem优化技巧

网站建设具体工作内容,sem优化技巧,和田地seo,seo管理是什么项目场景#xff1a; 调用接口进行手机验证提示,项目需要调用其它域名的接口,导致前端提示跨域问题 问题描述 前端调用其他域名接口时报错提示: index.html#/StatisticalAnalysisOfVacancy:1 Access to XMLHttpRequest at http://xxxxx/CustomerService/template/examineMes…项目场景 调用接口进行手机验证提示,项目需要调用其它域名的接口,导致前端提示跨域问题 问题描述 前端调用其他域名接口时报错提示: index.html#/StatisticalAnalysisOfVacancy:1 Access to XMLHttpRequest at http://xxxxx/CustomerService/template/examineMessage from origin http://xxxxx has been blocked by CORS policy: No Access-Control-Allow-Origin header is present on the requested resource. 原因分析 在前端领域中跨域是指浏览器允许向服务器发送跨域请求从而克服Ajax只能同源使用的限制。 这个问题是随着AJAX的兴起Web 应用对跨域访问的需求就越来越多AJAX在进行跨域请求的时候受到浏览器安全限制。 浏览器出于安全的考虑引入了同源策略。这种策略会对页面上执行的js访问资源的时候进行限制比如不能直接通过js访问不同源之下的页面DOM结构同时在对不同源发送请求时也无法获取到服务器响应内容服务器会正常处理请求并返回响应内容但是返回的内容被浏览器拦截掉了。 什么是同源策略 同源策略/SOPSame origin policy是一种约定由Netscape公司1995年引入浏览器它是浏览器最核心也最基本的安全功能如果缺少了同源策略浏览器很容易受到XSS、CSFR等攻击。所谓同源是指协议域名端口三者相同即便两个不同的域名指向同一个ip地址也非同源。 同源策略将限制以下几种行为 Cookie、LocalStorage 和 IndexDB 无法读取DOM 和 Js对象无法获得 常见的跨域场景 URL说明是否允许通信http://www.domain.com/a.js http://www.domain.com/b.js同一域名不同文件或路径允许http://www.domain.com:8000/a.js http://www.domain.com/b.js同一域名不同端口不允许http://www.domain.com/a.js https://www.domain.com/b.js同一域名不同协议不允许http://www.domain.com/a.js http://192.168.4.12/b.js域名和域名对应相同ip不允许http://www.domain.com/a.js http://x.domain.com/b.js http://domain.com/c.js主域相同子域不同不允许http://www.domain1.com/a.js http://www.domain2.com/b.js不同域名不允许 解决方案 解决方案 jsonp跨域 通常为了减轻web服务器的负载把js、cssimg等静态资源分离到另一台独立域名的服务器上在html页面中再通过相应的标签从不同域名下加载静态资源而被浏览器允许基于此原理可以通过动态创建script再请求一个带参网址实现跨域通信。 前端实现代码 script typetext/javascript function onLogin(res){console.log(res);} /script//引用文件的方式 script typetext/javascript srchttps://www.devpoint.com/login?userdevpointcallbackonLogin//AJAX以jquery.js script typetext/javascript $.ajax({url:https://www.devpoint.com/login,type:get,dataType:jsonp, //请求方式为jsonp jsonpCallback:onLogin, //自定义回调函数名data:{}}); /script 服务端实现代码PHP: echo onLogin({result:success, user: doweb}) 局限仅限GET请求 document.domain iframe 跨域 实现原理两个页面通过js的document.domain强制设置为相同主域来达到同域的效果即相当于iframe中的页面为通信代理页面代理页面必须部署在与后端服务器同源站点下。 主页面假定访问路径为https://blog.devpoint.cn/login.html  iframe idproxyIframe srchttps://api.devpoint.cn/proxy.html/iframe script typetext/javascript document.domain devpoint.cn;const user devpoint;const elemIframe document.getElementById(proxyIframe);elemIframe.login(user,function(res){console.log(res);}); /script 代理页面https://api.devpoint.cn/proxy.html script typetext/javascript document.domain devpoint.cn;function ajax(data,callback){//此处实现与真正的后端通信}function login(user,callback){ajax(data,callback);} /script 局限仅限主域名一致子域名不同的跨域。 location.hash iframe跨域 实现原理 a欲与b跨域通信通过中间页c来实现。 三个页面不同域之间利用iframe的location.hash传值相同域之间直接js访问来通信。 具体实现A域a.html - B域b.html - A域c.htmla与b不同域通过hash值单向通信b与c也不同域也只能单向通信但c与a同域所以c可通过parent.parent访问a页面所有对象。 a.htmlhttp://www.devpoint.cn/a.html iframe idiframe srchttp://www.devpoint.cn/b.html styledisplay:none;/iframe script typetext/javascript var iframe document.getElementById(iframe); //向b.html传hash值 setTimeout(function() {iframe.src iframe.src #userdevpoint; }, 1000); // 开放给同域c.html的回调方法 function onCallback(res) { alert(data from c.html --- res); } /script b.htmlhttp://www.doweb.me/b.html iframe idiframe srchttp://www.doweb.me/c.html styledisplay:none;/iframe script typetext/javascriptvar iframe document.getElementById(iframe); //监听a.html传来的hash值再传给c.htmlwindow.onhashchange function () {iframe.src iframe.src location.hash; }; /script c.htmlhttp://www.devpoint.cn/c.html script typetext/javascript//监听b.html传来的hash值window.onhashchange function () {//再通过操作同域a.html的js回调将结果传回 window.parent.parent.onCallback(hello: location.hash.replace(#user, )); }; /script 局限繁琐且location.hash传递的值长度有限 postMessage跨域 postMessage是HTML5 XMLHttpRequest Level 2中的API且是为数不多可以跨域操作的window属性之一它可用于解决以下方面的问题 页面和其打开的新窗口的数据传递多窗口之间消息传递页面与嵌套的iframe消息传递上面三个场景的跨域数据传递 实现原理postMessage(data,origin)方法接受两个参数 data html5规范支持任意基本类型或可复制的对象但部分浏览器只支持字符串所以传参时最好用JSON.stringify()序列化。origin 协议主机端口号也可以设置为*表示可以传递给任意窗口如果要指定和当前窗口同源的话设置为/。 CORS跨域 普通跨域请求服务端设置Access-Control-Allow-Origin即可前端无须设置 跨域请求要带cookie前后端都需要设置。 需注意的是由于同源策略的限制所读取的cookie为跨域请求接口所在域的cookie而非当前页。如果想实现当前页cookie的写入。 目前所有浏览器都支持该功能CORS也已经成为主流的跨域解决方案。在项目中的DEBUG功能的跨域请求就是使用这个方案。 前端设置需要在请求头中设置withCredentials属性 headers: {x-fdn-sign: apiSign,withCredentials: true } 服务端设置 response.setHeader(Access-Control-Allow-Origin, *); // 若有端口需写全协议域名端口 response.setHeader(Access-Control-Allow-Credentials, true); 我个人是使用 jsonp跨域 解决的 $.ajax({url:htt.www:5060/CustomerService/template/examineMessage,data: {PhoneNumbers:applicantTel,state:auditstatus},type:post,dataType:jsonp,jsonpCallback:onLogin, //自定义回调函数名success:function (result) {console.log(修改变更,result)if(result.code200){table.reload(recordOfRepair1);}else{layer.msg(result.message)}}}); 后端也可以解决只需要在接口处加个注解即可 CrossOrigin  注意: Spring Framework 4.2 GA为CORS提供了第一类支持使您比通常的基于过滤器的解决方案更容易和更强大地配置它。所以springMVC的版本要在4.2或以上版本才支持CrossOrigin ; 或者也可参考这位博主的 9种常见的前端跨域解决方案详解_前端解决跨域问题_时清云的博客-CSDN博客
文章转载自:
http://www.morning.tfwg.cn.gov.cn.tfwg.cn
http://www.morning.kqbwr.cn.gov.cn.kqbwr.cn
http://www.morning.zxzgr.cn.gov.cn.zxzgr.cn
http://www.morning.plfrk.cn.gov.cn.plfrk.cn
http://www.morning.xqjh.cn.gov.cn.xqjh.cn
http://www.morning.brwei.com.gov.cn.brwei.com
http://www.morning.mggwr.cn.gov.cn.mggwr.cn
http://www.morning.nbhft.cn.gov.cn.nbhft.cn
http://www.morning.gbfzy.cn.gov.cn.gbfzy.cn
http://www.morning.cjqcx.cn.gov.cn.cjqcx.cn
http://www.morning.mpxbl.cn.gov.cn.mpxbl.cn
http://www.morning.wnkbf.cn.gov.cn.wnkbf.cn
http://www.morning.ysdwq.cn.gov.cn.ysdwq.cn
http://www.morning.qswws.cn.gov.cn.qswws.cn
http://www.morning.jfmjq.cn.gov.cn.jfmjq.cn
http://www.morning.kdnrc.cn.gov.cn.kdnrc.cn
http://www.morning.sxygc.cn.gov.cn.sxygc.cn
http://www.morning.nsjpz.cn.gov.cn.nsjpz.cn
http://www.morning.ybgt.cn.gov.cn.ybgt.cn
http://www.morning.fchkc.cn.gov.cn.fchkc.cn
http://www.morning.zfwjh.cn.gov.cn.zfwjh.cn
http://www.morning.3dcb8231.cn.gov.cn.3dcb8231.cn
http://www.morning.bhbxd.cn.gov.cn.bhbxd.cn
http://www.morning.jthjr.cn.gov.cn.jthjr.cn
http://www.morning.pamdeer.com.gov.cn.pamdeer.com
http://www.morning.fkcjs.cn.gov.cn.fkcjs.cn
http://www.morning.pltbd.cn.gov.cn.pltbd.cn
http://www.morning.rwbh.cn.gov.cn.rwbh.cn
http://www.morning.crtgd.cn.gov.cn.crtgd.cn
http://www.morning.ybgyz.cn.gov.cn.ybgyz.cn
http://www.morning.eronghe.com.gov.cn.eronghe.com
http://www.morning.fblkr.cn.gov.cn.fblkr.cn
http://www.morning.nwtmy.cn.gov.cn.nwtmy.cn
http://www.morning.yrjxr.cn.gov.cn.yrjxr.cn
http://www.morning.syhwc.cn.gov.cn.syhwc.cn
http://www.morning.hkswt.cn.gov.cn.hkswt.cn
http://www.morning.tqgx.cn.gov.cn.tqgx.cn
http://www.morning.hsflq.cn.gov.cn.hsflq.cn
http://www.morning.kmcby.cn.gov.cn.kmcby.cn
http://www.morning.kjksn.cn.gov.cn.kjksn.cn
http://www.morning.nnwnl.cn.gov.cn.nnwnl.cn
http://www.morning.jkfyt.cn.gov.cn.jkfyt.cn
http://www.morning.tbplf.cn.gov.cn.tbplf.cn
http://www.morning.cnfjs.cn.gov.cn.cnfjs.cn
http://www.morning.cnfxr.cn.gov.cn.cnfxr.cn
http://www.morning.znknj.cn.gov.cn.znknj.cn
http://www.morning.lsnbx.cn.gov.cn.lsnbx.cn
http://www.morning.hksxq.cn.gov.cn.hksxq.cn
http://www.morning.kjcfz.cn.gov.cn.kjcfz.cn
http://www.morning.zxybw.cn.gov.cn.zxybw.cn
http://www.morning.knnc.cn.gov.cn.knnc.cn
http://www.morning.dpbdq.cn.gov.cn.dpbdq.cn
http://www.morning.zqcgt.cn.gov.cn.zqcgt.cn
http://www.morning.qnzpg.cn.gov.cn.qnzpg.cn
http://www.morning.sgrdp.cn.gov.cn.sgrdp.cn
http://www.morning.krwzy.cn.gov.cn.krwzy.cn
http://www.morning.qpntn.cn.gov.cn.qpntn.cn
http://www.morning.bhgnj.cn.gov.cn.bhgnj.cn
http://www.morning.xhlht.cn.gov.cn.xhlht.cn
http://www.morning.ympcj.cn.gov.cn.ympcj.cn
http://www.morning.rtbj.cn.gov.cn.rtbj.cn
http://www.morning.bkylg.cn.gov.cn.bkylg.cn
http://www.morning.rwpfb.cn.gov.cn.rwpfb.cn
http://www.morning.xsbhg.cn.gov.cn.xsbhg.cn
http://www.morning.jghty.cn.gov.cn.jghty.cn
http://www.morning.ngcbd.cn.gov.cn.ngcbd.cn
http://www.morning.smnxr.cn.gov.cn.smnxr.cn
http://www.morning.zxhpx.cn.gov.cn.zxhpx.cn
http://www.morning.wmqxt.cn.gov.cn.wmqxt.cn
http://www.morning.qzpkr.cn.gov.cn.qzpkr.cn
http://www.morning.sgfpn.cn.gov.cn.sgfpn.cn
http://www.morning.pmptm.cn.gov.cn.pmptm.cn
http://www.morning.zxwqt.cn.gov.cn.zxwqt.cn
http://www.morning.wzknt.cn.gov.cn.wzknt.cn
http://www.morning.kghss.cn.gov.cn.kghss.cn
http://www.morning.guangda11.cn.gov.cn.guangda11.cn
http://www.morning.nynyj.cn.gov.cn.nynyj.cn
http://www.morning.lpqgq.cn.gov.cn.lpqgq.cn
http://www.morning.frxsl.cn.gov.cn.frxsl.cn
http://www.morning.gswfs.cn.gov.cn.gswfs.cn
http://www.tj-hxxt.cn/news/266468.html

相关文章:

  • 网站建设要做哪些工作电商设计详情页
  • 天津建设工程合同备案网站wordpress弹出提示框
  • 网站源码安装步骤设计说明的英文
  • 建设网站上申请劳务资质吗张店网站制作
  • 淘客网站+wordpress烟台网站设计单位
  • 福田官网网站优化成功案例
  • 课程网站建设目标任务网站建设教学廊坊
  • 凡科建站好用吗网站建设售后服务承诺函
  • 一般做推广网站的客户需求仕什么企业网盘软件
  • 家装效果图网站内容展示型网站 设计特点
  • 建设网站有哪些方法如何做书签网站
  • 怎么做淘宝客网站赚钱吗头条权重查询
  • 用vs2010做的网站的源码wordpress 自定义头像
  • 基本网站建设语言电脑公司网站源码php
  • 网站开发和软件开发工作wordpress通过图片id获取路径
  • 建站论坛系统营销型网站的建设重点是什么
  • 河源市规划建设局网站手机软件做的相册怎样传到网站
  • 余姚网站建设 熊掌号成都信用网企业查询系统
  • 网站备案要拍照大家怎么做的啊施工企业管理
  • 盘锦网站建设优化亚马逊品牌备案的网站怎么做
  • 北京工商局网站如何做股东变更市建设局领导名单
  • 一个网站开发的意义英文建站多少钱
  • 财经网站模板wordpress主页制作
  • 简述网站与网页的区别wordpress主题 html5
  • 24小时自助下单网站惠州网站建设哪里找
  • 厦门网站做的比较好网站建设方案doc
  • 婚纱网站html源码学技巧网站制作
  • 怎么分辨网站是不是h5企业网站可信度建设
  • 网站搭建的流程统计局网站建设情况
  • 卖水果网站模板国外地推如何开展