我正在使用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();
}
}
我不知道解决方案是什么
答案 0 :(得分:4)
我使用localhost:8000
遇到同样的问题
请尝试以下步骤
1.试试干净的浏览器。似乎问题在于使用以前的Laravel版本开发的cookie,在同一个URL上
2.尝试在开始表单标记
{{ csrf_field() }}
<form action="/add-task" method="POST">
{{ csrf_field() }}
3.并删除accept-charset="UTF-8"
进一步阅读
Similiar Post 1
和Similiar Post2
关于laravel 5.5错误的其他链接
Larave 5.5: default error views and costomizing them
答案 1 :(得分:1)
注意php.ini
mbstring.func_overload
参数。
必须设置为 0。并且mbstring.internal_encoding
设置为 UTF-8 。在我的情况下,这是一个问题。
答案 2 :(得分:0)
有同样的问题,但缺少/ storage / framework / sessions文件夹。 创建了文件夹,并在刷新后修复了它。
答案 3 :(得分:0)
不得不放
<input type="hidden" name="_token" value="{{ csrf_token() }}">
或在Laravel 5.6中使用@csrf
内部形式。
{{csrf_token()}}
否则会在html页面中打印