小编Sal*_*dor的帖子

Route [password.reset]未在ResetPasswords.php的laravel 5.4中定义

我在自定义应用中遇到此错误:

InvalidArgumentException in UrlGenerator.php line 304: 
Route [password.reset] not defined.
Run Code Online (Sandbox Code Playgroud)

我知道laravel提供了开箱即用的密码重置功能,但我想编写自己的类和路由.

这是我在web.php中的路线

// Password reset link request routes...
Route::get('password/email', 'Auth\PasswordController@getResetEmail');
Route::post('password/email', 'Auth\PasswordController@postResetEmail');

// Password reset routes...
Route::get('password/reset/{token}', 'Auth\PasswordController@getReset');
Route::post('password/reset', 'Auth\PasswordController@postReset');
Run Code Online (Sandbox Code Playgroud)

这是我的PasswordController:

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Contracts\Auth\PasswordBroker;
use Illuminate\Foundation\Auth\ResetsPasswords;

class PasswordController extends Controller {



    use ResetsPasswords;

    /**
     * Create a new password controller instance.
     *
     * @param  \Illuminate\Contracts\Auth\Guard  $auth
     * @param  \Illuminate\Contracts\Auth\PasswordBroker  $passwords
     * @return void
     */
    public function __construct(Guard $auth, PasswordBroker $passwords)
    {
        $this->auth = $auth;
        $this->passwords …
Run Code Online (Sandbox Code Playgroud)

php forgot-password laravel-5.4

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

如何让 PHP 理解函数参数的数组或 splat 运算符(3 个点...)?

我有这个代码:

function test(...$strings)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

它允许我像这样调用 test() :

test('a', 'series of', 'strings go here');
Run Code Online (Sandbox Code Playgroud)

这有效。然而,我经常想做:

test([ 'a', 'series of', 'strings go here' ]);
Run Code Online (Sandbox Code Playgroud)

或者:

test($an_array_of_strings);
Run Code Online (Sandbox Code Playgroud)

事实上,我非常确定这有效,以至于当我开始收到有关“数组到字符串转换”的错误时,我感到震惊和困惑。

我的意思是,“...”语法是一种特殊的语言构造,专门用于将函数的可变数量的参数转换为数组!我什至不明白为什么它不会自动理解这种非常常见/有用的做法。

既然它(显然)没有,是否有某种方法可以完成此任务而不必使用两个单独的函数?我不想要一个单独的:

function test_array($strings = [])
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

php function splat

6
推荐指数
2
解决办法
2469
查看次数

如何为功能性React组件props实施解构分配?

我正在尝试通过破坏分配方法来传递功能组件道具。

在下面的示例中,我尝试使用此概念,但是它不起作用。此代码的结果返回空,并且不打印该道具。

import React from 'react';
import { render } from 'react-dom';

const App = ({ username: name }) => (<h1>{username}</h1>)

render(
   <App name="Tom" />,
   document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)

有关如何处理此问题的任何想法?

javascript destructuring ecmascript-6 reactjs

3
推荐指数
1
解决办法
57
查看次数

几次尝试后,laravel 5.5继续在ajax调用中出现419发布错误

我真的很感谢这方面的帮助。我尝试了其他人在其他帖子上建议的所有解决方案,包括:Laravel 5.5 ajax调用419(未知状态)和此Ajax LARAVEL 419 POST错误解决方案。

但是,即使在头部设置了csrf_token元标记,我仍然会收到419错误:

<meta name="csrf-token" content="{{ csrf_token() }}">
Run Code Online (Sandbox Code Playgroud)

在ajax发布调用之前,我像这样设置ajax csrf_token:

$.ajaxSetup({
  headers: {
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  }
});
Run Code Online (Sandbox Code Playgroud)

之后,我将ajax数据中的csrf_token作为变量发送,如下所示:

$.ajax({
        url     : "/getCompare",
        type    :"POST",
        cash    : false,
        data    :{ id : id,_token: '{{csrf_token()}}'},
        success :
           function( response ) {
              $("#compare_products").html(response);
             }
        });
Run Code Online (Sandbox Code Playgroud)

页面的应用方式使用户反复请求ajax调用以比较产品。它在很多尝试下都可以正常工作,但是在特定情况下,会引发419错误。这种情况有时是当我在页面加载后大约3分钟按下一个按钮时,出现了这个错误。有时它会在第三次或第四次尝试时给出错误。重新加载页面后,问题已解决,但仍然按照我解释的方式再次发送该错误。

我的问题是为什么会这样?是3分钟后csrf_token过期还是什么?而且我不想在verifyCsrfToken中间件中添加异常。该问题的解决方案是什么?

PS: leorent的答案是正确的。但是将我的项目上传到实际的在线服务器后。问题已经解决了。我不知道为什么,但是这个问题是因为Windows和在本地主机中本地运行laravel项目。csrf令牌会话在寡妇localhost服务器上经常过期。不用担心,将项目上传到实际服务器后,您的csrf问题将自动得到解决。

php ajax jquery laravel laravel-5.5

1
推荐指数
1
解决办法
2209
查看次数