【发布时间】:2018-03-01 09:08:31
【问题描述】:
当我在 post 请求中向我的控制器发送数据时,我使用的是 laravel 5.5。它总是显示以下消息 由于不活动,该页面已过期。
请刷新并重试。 我的视图代码是:
@extends('layouts.app')
@section('content')
<!DOCTYPE html>
<html>
<head>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<title></title>
</head>
<body>
<div class="span3 well">
<legend>Create Your New Task!</legend>
<div class="form-group">
<div class="col-md-4">
<form accept-charset="UTF-8" action="/add-task" class="form-horizontal" method="post">
<input class="form-control" name="name" placeholder="Task Name" type="text">
<input class="form-control" name="assignedto" placeholder="Assigned To" type="text">
<input class="form-control" name="deadline" placeholder="DeadLine" type="text">
<button class="btn btn-warning" type="submit">Add Task</button>
{{csrf_field()}}
</form>
</div>
</div>
</div>
</body>
</html>
@endsection()
我的控制器是:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\task;
class AddTask extends Controller
{
public function insertTask(Request $req)
{
$name=new task();
$name->name=$req['name'];
$name->assigned_to=$req['assignedto'];
$name->deadline=$req['deadline'];
$name->save();
}
}
不知道怎么解决
【问题讨论】:
-
如果您在几秒钟后使用标头进行自动重载,这会是一个可能的解决方案吗? ` 例如:` 您也可以使用 JS
location.reload();刷新页面我无法告诉您为什么会收到此错误,但可能是 csrf令牌达到了他的“生命周期”的终点。每个生成的令牌都在短时间内有效。您的 laravel 项目中应该有一个设置,您可以在其中增加 csrf 令牌的默认生命周期。
标签: php laravel-5.5