一.背景 先简单介绍一下现在项目情况:前后端分离,后端服务是Java写的,前端是Vue+ElementUI. 最近的一个需求是:通过后端Api去获取前端路由表,原因是每个登录角色对应的前端路由表可能是不一样的(权限问题) 二.遇到的问题 因为前端Vue+ElementUI项目是单页应用——即只有一个index.html页面,如果路由从远程获取的话,每次F5或点击刷新按钮刷新页面的时候,就会找不到对应的路径而报404错误 三.解决方案 1.通过api远程获取路由,然后在前端生成对应路由 /* 将…
如果你的angular项目部署到一个tomcat容器里面,localhost:8080是JavaWeb的主页,localhost:8080/driver/login是你angular2项目的登陆地址.第一遍跳转login页面,显示正常.但如果你刷新login页面,这会报一个404错误.为什么呢,因为你刷新后其实它走的是JavaWeb的路由了,在Java的路由下找不到这个路由地址,所以报错.这算是angular2的一个坑吧,网上搜了一下,发现这个遇到这个错误的人挺多的,但都没有给出解决办法,现把解…
点击路由链接跳转页面是正常的,但是当刷新页面时就出现了404错误. 解决方法如下: 在app.module.ts中添加import: import {HashLocationStrategy,LocationStrategy} from '@angular/common'; 并在 providers下添加所引入的服务: providers: [{provide: LocationStrategy,useClass: HashLocationStrategy}] 备注:出现问题的原因:刷新页面时寻…
一.vue 在nginx下页面刷新出现404 在网上翻遍了所有这样问题的解决办法,全都是一个解决办法也是正确的解决办法,(后来在vue官网上关于history方式出现404解决方法也是这样说的),只是没有表达完整,可能会让比较急于解决这个问题的人简单复制却始终解决不了问题 nginx正确的配置: 1.如果是在根目录则配置如下 location / { root  /: index index.html; try_files $uri $uri/ /index.html} 2.如果是有特定目录 l…
解决AngualrJS页面刷新导致异常显示问题 绪 俗话说,细节决定成败,编程亦是如此.编程过程中我们可能会不自觉的忽视一些细节问题,殊不知,这些细节正是导致页面显示出现问题的地方.今略举一例,与君共勉之. 页面正常加载后,显示如下: 按F5刷新之后,页面如下所示: 很明显,页面显示出现了异常.回过头再看看Chrome的错误提示, 具体代码如下: 正是以上代码导致了错误的发生. 追根溯源 让我们回顾一下,错误到底是如何发生的.正常加载情况下,页面正常显示很容易理解,程序是按照既定的数据流走的.但…
问题描述: 一.更新依赖,并打包项目 cd /root/.jenkins/workspace/v-test;npm installcd /root/.jenkins/workspace/v-test;npm run build 二.发布Tomcat mv ../dist/* $tomcatpath/webapps/ROOT 三.第一次访问请求正常,刷新页面报404错误 怎么解决: 如果 URL 匹配不到任何静态资源,则应该返回同一个 app 依赖的index.html 页面. 在ROOT根目录下…
server { listen ;#默认端口是80,如果端口没被占用可以不用修改 server_name localhost; root E:/vue/my_project/dist;#vue项目的打包后的dist location / { try_files $uri $uri/ @router;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404 index index.html index.htm; } #对应上面的@router,主要原因是路由的路径资源并不是…
这个方法的参数是一个整数,意思是在 history 记录中向前或者后退多少步,类似 window.history.go(n) router.push(location) 想要导航到不同的 URL,则使用 router.push 方法.这个方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器后退按钮时,则回到之前的 URL. router.replace(location) 跟 router.push 很像,唯一的不同就是,它不会向 history 添加新记录,而是跟它的方法名一样…
父组件调用子组件 <Cselect ref="registerAddress"></Cselect> import Cselect from '../../../../components/common/select' export default { Cselect } 父组件页面通过 this.registeraddress就可以获取子组件页面的数据 子组件 <template> <div> <el-select v-model…
今天这个问题又跟页面的刷新有一定的关系,虽然说跟页面刷新的关系不大,但确实页面刷新引起的这一个问题. 场景: VueX里存储了 this.$store.state.PV这样一个变量,这个变量是在app.vue里通过接口获取然后存储在vueX里的,在路由activity.vue中,我们需要用到这个变量,并且通过这个变量的值来控制路由页面里某一段dom元素的显示与否. 这个需求这样描述起来,是很好实现的.于是我就简单写了几段代码,很简单轻松的实现了这个需求: //acitity.vue Dom结构…
现象: 在浏览器中直接访问www.test.com/api1/login会404.但如果你先访问www.test.com后再点“登录" 跳转到www.test.com/api1/login是正常显示.f5刷新又会出现 404了 这是web单页面开发模式造成的.现在主流的前端框架基本都是单页面的.如:react.vue等. 单页面简单来说就是访问所有资源路径.其实页面内容只有一个(一般是index.html).这个页面中引入的js框架会根据当前访问的url去路由到相应的子页面组件(可以理解为页面片…
使用Mvc 有时候我们希望,浏览地址以.html .htm 等后缀名进行结尾. 于是我们就在RouteConfig 中修改路由配置信息,修改后的代码如下 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}.html", defaults: new { controller =…
Eclipse配置并启动Tomcat成功,但有时会访问localhost:8080出现404错误,此时需要修改Tomcat配置.步骤如下: 在Eclipse中双击Tomcat server,打开Tomcat配置页面. 修改Server locations为Use Tomcat installation. 修改Deploy path为webapps. 保存配置即可. PS:如果不能修改配置,在Server中删除Tomcat,重新添加一次,即可配置.…
vue 开发微信商城项目,需求如下: 购物车页面跳转到详情页,购物车页面包含了多个组件,点击结算跳转到订单页面,从订单返回时,购物车页面没有刷新,由于购物车组件之间通过bus实现事件传递,页面跳转(非物理返回)无法触发beforeDestroy方法,则无法再此方法中销毁bus方法 beforeDestroy() { this.$root.Bus.$off('judge') this.$root.Bus.$off('refreshDetail') this.$root.Bus.$off('clea…
if(typeof(this.$route.query.result)=='string'){ //刷新时走这 }else{ //正常路由跳转过来后就把数据塞到 localStorage let obj = JSON.stringify(this.$route.query); //转化为JSON字符串 localStorage.setItem("prizeResult", obj); //数据存storage,防止刷新丢失 } 去localStorage取 let result = J…
vue-router 我们知道路由定义了一系列访问的地址规则,路由引擎根据这些规则匹配找到对应的处理页面,然后将请求转发给页进行处理.可以说所有的后端开发都是这样做的,而前端路由是不存在"请求"一说的. 前端路由是找到地址匹配的一个组件或者对象将其渲染出来.改变浏览器地址不向服务器发送请求有两种方法, 一是在地址中加入#以欺骗浏览器,地址的改变是由于正在进行页内导航:二是使用HTML5的window.history功能,使用URL的hash来模拟一个完整的URL. vue-router…
问题描述:如下代码所示,使用element-ui 中的el-form组件对table进行条件查询,当查询条件仅有一项时,使用@keyup.enter.native事件绑定回车事件,出现点击回车后,浏览器会刷新页面的问题: <el-form :inline="true" class="demo-form-inline"> <el-form-item label="基金名称:" style="margin-bottom:0…
simpleReuseStrategy.ts // 创建重用策略 import { ActivatedRouteSnapshot, DetachedRouteHandle, RouteReuseStrategy } from '@angular/router'; /** * 路由重用策略 */ export class SimpleReuseStrategy implements RouteReuseStrategy { // 保存路由快照 // [key:string] 键为字符串类型 //…
参考地址: https://blog.csdn.net/yinjing8435/article/details/71274416…
官方说明文档: https://router.vuejs.org/zh/g... 一. 实测 Linux 系统 Apache 配置: 更改站点配置文件即可,我这里在 Directory 标签后面添加了官方给的五行配置 <VirtualHost *:80> #Created by linvic on 2018-05-24 Serveradmin 674206994@qq.com ServerName blog.xxx.com DocumentRoot /home/www/blog <Dir…
Laravel 框架通过 public/.htaccess 文件来让网址不需要 index.php.如果你的服务器是使用 Apache,请确认是否有开启 mod_rewrite 模块.如果 Laravel 附带的 .htaccess 文件在 Apache 中无法使用的话,请尝试下方的做法:   Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FIL…
症状: 使用终端服务客户端连接到Windows Server2008 R2的机器时,如果客户端选项中选择了打印机(注1)时,它可能会在在系统事件日志中记录一个TerminalServices打印机错误1111. (注1:用远程客户端连接时,在连接选项的本地资源中添加了打印机) 日志名: System事件源: TerminalServices事件ID: 1111级别: Error 打印机 PRINTERNAME 所需驱动程序PRINTERDRIVER未知.登录之前,请联系管理员,安装驱动程序. 原…
一直使用远程桌面连接一台windows2008server服务器,今天突然报错,连不上了:   “由于没有远程桌面授权服务器可以提供许可证,远程会话被中断.请跟服务器管理员联系.”       由于是一台共用的服务器,不知道谁操作了什么.根据错误提示google解决方法,大都让删除MSLicensing注册表项.可是删除之后,依然不见效果.本地登录到服务器上,指定RD许可证服务器,也不行,将远程桌面授权方式从每设备改成每用户,也不行.后来经过持续不断的google,百度.找到了下面这篇,终于解了…
方案一 (这种方式容易被第三方劫持) location / { root /data/nginx/html; index index.html index.htm; error_page 404 /index.html; } 方案二 location / { root /data/nginx/html; index index.html index.htm; if (!-e $request_filename) { rewrite ^/(.*) /index.html last; break;…
HBuilder/Mui开发的APP使用上拉刷新,当滚动到底部是会触发上拉刷新,加载更多数据.但是ios上确是一个坑,导致滚动条无法滚动. 解决方法 放弃Mui的上拉刷新,自己使用JS实现. var old = Date.now(); document.addEventListener('scroll', function () { if (document.body.scrollHeight == document.body.scrollTop + window.innerHeight) {…
首次远程安装 GlassFish 服务后,如果以远程 Web 方式访问其后台管理系统,会提示 Secure Admin must be enabled to access the DAS remotely 错误.管理系统的默认管理员账号为 admin,密码为空,但这时远程登录就会提示上面的错误,只有在 GlassFish 所在的服务器上以本地浏览器访问 http://locahost:4848 才能以默认空密码访问管理系统.那么如果 GlassFish 所在的服务器不具备远程图形界面访问的条件呢…
Nginx 解决方案: 网上盛传的方法是: 在 /etc/nginx/nginx.conf文件的 loction / {} 中添加 if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /in…
Route::get('hello',function(){ return 'Hello World!'; }); 在laravel/app/Http/routes.php下添加上面的语句,然后再浏览器中使用localhost/laravel/public/hello,用Apache来运行,会报404错误,后来在网上查了资料,发现是URL重定向的问题,具体的解决方法如下: 1,php开启phpopenssl 2,在apache conf开启rewrite莫块 模块(#LoadModule rew…
mode="history"是去除链接中的'#'的,但是加上后页面刷新回报404错误,怎么办呢? 解决办法:只需要在nginx中最末尾加上 try_files $uri $uri/ /index.html; 即可,例如: server {   listen 80;   server_name k-line-drawer.testcadae.top k-painter.testcadae.top ;  charset utf-8;  location / {    autoindex o…
vue中获取路由中的值 在vue中如何获取路由中的值呢?大家先看下面这段代码: this.$route.params && this.$route.params.id 这行代码就是在vue的路由中获取到其中传的值, this.$route.params意思是路由中有没有值, this.$route.params.id意思是路由中的值是什么类型的,其中id是值得类型:…