laravel 5 csrf_token值为空

时间:2016-02-05 05:01:56

标签: php laravel laravel-5.2 csrf-protection

为什么laravel 5 csrf_token值总是为空?

我如何获得该令牌值?

我试过了,

  {!! csrf_token !!} , {{ csrf_token }} and 
  {{ Form::open() }} ....{{ Form::close() }}

我的输出

  <input type="hidden" name="_token"></input>

4 个答案:

答案 0 :(得分:3)

这是因为您没有使用网络组中间件,Laravel非常聪明,知道如果您不使用该组,则不需要令牌。

尝试移动你在Route :: group中的路线(['middleware'=&gt;'web'] ...并告诉我们:)

消息来源:不久前我犯了同样的错误。

答案 1 :(得分:0)

试试php artisan generate:key?如果无效,请尝试在connsole上使用def PFTpercentChange(request): conn = psycopg2.connect(dbname="geodjango",host='localhost',user='postgres', password='postgres', port=5433) cur=conn.cursor() cur.execute("SELECT COUNT(species) FROM pft_potential_pft") count_pot=cur.fetchall() cur.execute("select count(*) from pft_existing_data_apft e inner join pft_potential_pft p on e.species= p.species ") count_actual=cur.fetchall() cur.executemany('UPDATE "PFTpercentchange" SET "PFTs_likely_to_change" = ( %s ) where id=1',count_pot) conn.commit() cur.executemany('UPDATE "PFTpercentchange" SET "PFTs_unchanged" = ( %s ) where id=1',count_actual) conn.commit() myData = {} myData['PFTs_likely_to_change'] = count_pot myData['PFTs_likely_to_remain_unchanged'] = count_actual json_string = json.dumps(myData) return JsonResponse(myData, safe=False)

答案 2 :(得分:0)

感谢所有人。

最后我找到了解决方案。

全新安装:

Route::get('foo', function () {
  return csrf_token(); // null
});

使用此:

Route::group(['middleware' => 'web'], function () {
  Route::get('bar', function () {
    return csrf_token(); // works
});

});

它的工作。

答案 3 :(得分:0)

我偶然发现这个帖子,当我发布时,下午突然体验到“由于不活动而导致页面过期。” 在进行“查看源”时,所有令牌都存在并且正确无误。 只有我包括:

  $("#editaddTarget input").each(function () {
                    $(this).val("");

                });

当我发布模态时被解雇了。所以我今天学到了一些东西,并且不会回过头来找我这个新手的5个小时!