小编bil*_*ill的帖子

React Fetch到Laravel API创建新会话

我的应用程序在前端使用React,在后端使用Laravel 5.4.我正在使用fetch()从后端请求数据.问题是页面加载时会创建两个会话.TokenMismatchException当发出POST请求时,CSRF中间件会抛出A,因为发送的令牌与创建的第一个会话匹配,但它会检查第二个会话.

我正在设置令牌 app.blade.php

<meta name="_token" content="{{ csrf_token() }}">

并在获取配置中获取令牌

fetchConfig = {
    headers:  {
        'Content-Type': 'application/json',
        'Accept': 'application/json',
        'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
    },
    credentials: 'same-origin'
}}
Run Code Online (Sandbox Code Playgroud)

以下是解密的会话:

a:3:{s:6:"_token";s:40:"7obvOzPaqqJDtVdij8RaqrvmTFLjKA2qnvYMxry6";s:9:"_previous";a:1:{s:3:"url";s:24:"http://localhost/page";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}

a:3:{s:6:"_token";s:40:"5Aiws9Qy72YzlkfWX81zkhzrSeiMDYjFWiLeDAwN";s:9:"_previous";a:1:{s:3:"url";s:41:"http://localhost/api/page";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}
Run Code Online (Sandbox Code Playgroud)

请求网址: http://localhost/page

API网址: http://localhost/api/page

如何在React应用程序发出初始GET请求时阻止创建新会话?

php session fetch laravel reactjs

9
推荐指数
2
解决办法
1227
查看次数

Cakephp textarea

我正在使用CakePHP 2.2.3.我有一个没有表格但有验证规则的模型的联系表格.

我的问题是,如何告诉CakePHP输入类型是textarea?我可以使用,$this->Form->textarea()但我注意到,当我使用它时,它不会创建适当的HTML来报告验证错误.如果我使用$this->Form->input()它只是创建一个普通的输入类型文本.

它应该创建类似于:

<div class="input email required"><input name="data[Quote][email]" required="1" type="email" id="QuoteEmail"/></div>
Run Code Online (Sandbox Code Playgroud)

但相反,它创建了类似的东西:

<textarea name="data[Quote][company_description]" id="QuoteCompanyDescription"></textarea>
Run Code Online (Sandbox Code Playgroud)

注意缺少<div class="input email required"></div>,我假设是CakePHP用来注入验证错误的DOM元素.

我想知道实现这一目标的最佳方法是什么.

html php forms cakephp cakephp-2.x

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

php ×2

cakephp ×1

cakephp-2.x ×1

fetch ×1

forms ×1

html ×1

laravel ×1

reactjs ×1

session ×1