Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php POST 422(不可处理实体)Laravel-Ajax_Php_Jquery_Angularjs_Ajax_Laravel 5 - Fatal编程技术网

Php POST 422(不可处理实体)Laravel-Ajax

Php POST 422(不可处理实体)Laravel-Ajax,php,jquery,angularjs,ajax,laravel-5,Php,Jquery,Angularjs,Ajax,Laravel 5,我使用的是Laravel 5.3,我还想说,我在Laravel方面没有太多经验 我只是想建立一个登录表单与 拉维尔 角度JS1.5 角材料 以及在发布Ajax请求时出错 邮政422(不可处理实体) 我也搜索了SO和google,但没有找到任何解决这个问题的方法。 以下是文件和代码: login.php <?php echo Form::open(array('name'=>'loginForm','autocomplete'=>'off')); ?> <

我使用的是Laravel 5.3,我还想说,我在Laravel方面没有太多经验

我只是想建立一个登录表单与

  • 拉维尔
  • 角度JS1.5
  • 角材料
以及在发布Ajax请求时出错

邮政422(不可处理实体)

我也搜索了SO和google,但没有找到任何解决这个问题的方法。 以下是文件和代码:

login.php

<?php echo Form::open(array('name'=>'loginForm','autocomplete'=>'off')); ?>
    <md-input-container class="md-block">
        <?php echo Form::label('username', 'Username');  echo Form::text('username', '', 
           array('required'=>'required','ng-model'=>'userD.user.username','md-no-asterisk')); ?>
        <div ng-messages="loginForm.username.$error" role="alert">
            <div ng-message="required">Username is required</div>
        </div>
     </md-input-container>
     <md-input-container class="md-block">
        <?php echo Form::label('password', 'Password');  echo Form::password('password', 
        array('required'=>'required','ng-model'=>'userD.user.password','md-no-asterisk')); ?>
        <div ng-messages="loginForm.password.$error" role="alert">
            <div ng-message="required">Password can not be blank</div>
        </div>
     </md-input-container>
     <md-button type="submit" class="md-primary md-raised" ng-disabled="!loginForm.$valid" 
     ng-click="userD.login()">Login</md-button>
<?php echo Form::close(); ?>
登录控制器

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Redirect;

class LoginController extends Controller{
  public function index(){
    if(Auth::check() && Auth::user()->UserRoles->role >= 2){
        return Redirect::to('/admin/dashboard');
    }
    return View('admin.login.index');
  }

  public function login(Request $request){
    $data = $request['user'];
    $email = isset($data['username']) ? $data['username'] : null;
    $password = isset($data['password']) ? $data['password'] : null;
    //$remember = isset($data['remember']) ? $data['remember'] : null;
    if(Auth::attempt(['email' => $email, 'password' => $password]/*, $remember*/))
    {
        if(Auth::user()->UserRoles->role > 1)
        {
            return response()->json(["message" => "Welcome"]);
        }
        return response()->json(["The email or password you entered is not correct"], 422);
    }
    return response()->json(["2 : The email or password you entered is not correct"], 422);
  }

}


请不要将此问题标记为重复问题,因为我已经尝试了许多解决方案,所以只有

不是解决方案,但官方网站声明:在AJAX请求期间使用验证方法时,Laravel不会生成重定向响应。相反,Laravel生成包含所有验证错误的JSON响应。此JSON响应将与422 HTTP状态代码一起发送。如何解决此问题。我知道几种方法。禁用CSRF验证2。使用HTML表单,而不是Laravel表单。但我想纠正这一点。不是解决方案,而是官方网站声明:在AJAX请求期间使用validate方法时,Laravel不会生成重定向响应。相反,Laravel生成包含所有验证错误的JSON响应。此JSON响应将与422 HTTP状态代码一起发送。如何解决此问题。我知道几种方法。禁用CSRF验证2。使用HTML表单,而不是Laravel表单。但是我想纠正这个。。
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Redirect;

class LoginController extends Controller{
  public function index(){
    if(Auth::check() && Auth::user()->UserRoles->role >= 2){
        return Redirect::to('/admin/dashboard');
    }
    return View('admin.login.index');
  }

  public function login(Request $request){
    $data = $request['user'];
    $email = isset($data['username']) ? $data['username'] : null;
    $password = isset($data['password']) ? $data['password'] : null;
    //$remember = isset($data['remember']) ? $data['remember'] : null;
    if(Auth::attempt(['email' => $email, 'password' => $password]/*, $remember*/))
    {
        if(Auth::user()->UserRoles->role > 1)
        {
            return response()->json(["message" => "Welcome"]);
        }
        return response()->json(["The email or password you entered is not correct"], 422);
    }
    return response()->json(["2 : The email or password you entered is not correct"], 422);
  }

}