Laravel 5.2
如果您想自定义或更改通过AJAX
发送的POST
URL,这里是完整的答案:
ajax.js:
jQuery.ajax({
type:"POST",
url:"/user/password/reset",
data:{
_token: jQuery("#forgotPasswordContainer input[name='_token']").val(),
email: email
},
dataType:'json',
beforeSend:function(){
},
success:function(data){
},
complete:function(){
}
});
routes.php:
Route::post('user/password/reset', [
'uses' => 'Controller_name@index'
]);
App/Http/Controllers/Controller_name.php:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use Illuminate\Contracts\Auth\PasswordBroker;
class Controller_name extends Controller
{
public function index(Request $request, PasswordBroker $passwords)
{
if( $request->ajax() )
{
$this->validate($request, ['email' => 'required|email']);
$response = $passwords->sendResetLink($request->only('email'));
switch ($response)
{
case PasswordBroker::RESET_LINK_SENT:
return[
'error'=>'false',
'msg'=>'A password link has been sent to your email address'
];
case PasswordBroker::INVALID_USER:
return[
'error'=>'true',
'msg'=>"We can't find a user with that email address"
];
}
}
return false;
}
}
resources/views/
创建一个新目录auth > emails > password.blade.php
用于电子邮件模板:
Click here to reset your password .<br />
<a target="_blank" href="{{ url('password/reset', $token).'?email='.urlencode($user->getEmailForPasswordReset()) }}">Click to Reset Password</a>