401 ajax call laravel 5.2上的未授权错误

时间:2018-04-04 10:40:10

标签: php ajax laravel

当我正在进行ajax调用时,我收到错误,因为401未经授权。

这是我的ajax代码:

var email=document.getElementById( "email" ).value;
  if(email)
  {
      var data = 'email='+ email;
      $.ajax({
              type: 'POST',
              dataType: "json",
              data: {"_token": "{{ csrf_token() }}","data":data},
              url: "{{ URL::to('admin/check_email_exit') }}",
              success: function (response) {
              if(response=="1")
              {
                  $( '#email_status' ).html('Email Already Exists');
                  return false;
              }
              else
              {
                  $( '#email_status' ).html("");
                  return false;
              }
       }
       });
  }
    else
    {
         $( '#email_status' ).html("");
         return false;
    }

我的路线:

Route::post('admin/check_email_exit', 'CompanyController@check_email_exit');

这是我的控制器代码,用于检查电子邮件是否退出:

public function check_email_exit(){
        $email = $_POST["email"];
        $user_email = DB::table('users')->where('email',$email)->select('*')->get();
        $use_email=count($user_email);
        if($use_email > 0 )
        {
            return "1";
        }
        else
        {
            return "0";
        }
    }

如何解决此错误.. ??

2 个答案:

答案 0 :(得分:3)

只需在ajax请求标题中设置X-CSRF-Token

headers: {
  'X-CSRF-Token': {{ csrf_token() }}
}

这可能会对你有帮助。

答案 1 :(得分:0)

检查您是否需要调用的路由,用户必须获得授权。如果不是这种情况,您可以尝试在 auth 中间件之外定义路由。像这样的东西。

之前:

ui <- fluidPage(
 numericInput("In1", "Input 1", 60),
 numericInput("In2", "Input 2", 100),
 numericInput("In3", "Input 3", 100)

mainPanel(plotOutput("plot))
)
_______
server <- function(input, output) {

data1 <- reactive({

data1 <- data.frame(x = 0, y = 1:60)

data1[1, 1] = (input$In1 * 4 * 12)/input$In3
data1[1, 2] = (input$In2 * 4 * 12)/input$In3

for (i in 2:60) {
data1[i,1] = (input$In1 * 4 * 12)/input$In3) + data1[i-1]
data1[i,2] = (input$In2 * 4 * 12)/input$In3) + data1[i-1]
}})

output$plot <- renderPlot({...})

之后:

Route::group(['middleware' => 'auth'], function() {
    Route::get('route_name', [Controller::class, 'methd']);
    ... other routes
});