开发笔记📐 发现👽 人物👮 趣闻💦
Laravel实现中转页面跳转 从后端到前端js跳转代码

Laravel实现中转页面跳转 从后端到前端js跳转代码
2018-06-30 15:47:32   点击:

路由

修改routes/web.php,增加

Route::get('jump','Fore\ForeController@jump');

 

控制器

在app/Http/Controllers/Fore/目录下创建ForeController.php

<?php

namespace App\Http\Controllers\Fore;

use App\Http\Controllers\Controller;
use Session;

class ForeController extends Controller
{

    public function jump(){
        $message=Session::get('message')?Session::get('message'):'返回首页';
        $url=Session::get('url')?Session::get('url'):'/';
        $time=Session::get('time')?Session::get('time'):5;
        return view('fores.jump',[
            'url' => $url,
            'message' => $message,
            'time' => $time,
        ]);
    }
    }

 

调用跳转

    //login
    public function login(){
        if(Auth::user()) return redirect('jump')->with(
            [
                'url' => 'http://www.deadnine.com',
                'message' => '您已登录,即将为您返回首页',
                'time' => 10,
            ]
        );
        
        return "没有登录...";
    }

 

前端页面

<html>
    <p>{{$message}},将在<font class="time" style="color:#f00;">{{$time}}</font>秒后自动跳转</p>

    <script src="/js/jquery-3.3.1.min.js"></script>
    <script type="text/javascript">
        $(function(){
            var url = "{{$url}}"
            var timeRemain = parseInt($('.time').text());
            var time = setInterval(function(){
                timeRemain = timeRemain-1;
                $('.time').text(timeRemain);
                if(timeRemain==0){
                    clearInterval(time);
                    window.location.href=url;
                }
            },1000);
        })
    </script>
</html>

 

其他实现

如果中转页面使用不频繁,也可以考虑不用中转页面跳转,也可以通过简单的方法实现。

发送跳转请求:

return redirect('/')->with('message', 'Message sent!');

在view中接收:

@if(Session::has('message'))
 <div class="alert alert-info"> {{Session::get('message')}} 
 </div> 
 @endif

OVER

Laravel 跳转 js

上一篇:CSS修改placeholder颜色 单独设置placeholder的字体字距
下一篇:Python基础教程:字符串类string的常用方法 - Python文档翻译