2016-02-05 5 views
3

Я пытаюсь опубликовать электронные письма пользователей, чтобы подписаться на мой сайт, но моя консоль продолжает давать мне исключение 404 для маршрута. У меня есть таблица с именем betas и модель Beta в приложении \ Beta.php. Вот мой маршрут:Laravel 5 Route Not Found 404

use App\Beta; 
use Illuminate\Http\Request; 
Route::post('/email',['middleware'=>'csrf',function (Request $request){ 


    $validator=Validator::make($request->all(),[ 
     'email' => 'required|max:64|email|unique:betas,email' 
    ]); 

    //if validator passes save the email in the database 
    if($validator->passes()){ 
     $beta = new App\Beta; 
     $beta->email=$request->email; 
     $beta->save(); 

     $response=array(
      'status' => 'Email posted successfully' 
     ); 
    } 
    else{ 
     $messages = $validator->messages(); 
     $response=array(
      'messages' => $messages->first('email'), 
      'status' => 'Email post failed', 
     ); 
    } 
    return response()->json($response); 
}]); 

Ниже мой JS файл:

$("#betaForm").submit(function(){ 
     $(".loadingPic").show(); 
     var email=$("#emailInput").val(); 
     console.log("email:"+email); 
     //pause for a bit to see pretty loading icon 
     console.log("before setTimeout"); 
     var load=setTimeout(function(){return undefined;}, 1000); 
     console.log("after setTimeout"); 

     if(email==""){ 
      $("#warningMessage").html("please input your email"); 
      $("#warningMessage").show(); 
     } 
     else{ 
      $.post({ 
       url: $(this).prop('action'), 
       data: { 
        "_token": $(this).find('input[name=_token]').val(), 
        "email": email 
        }, 
       success: function(result){ 

         if (result.status!='Email posted successfully'){ 
          $("#warningMessage").html(result.messages); 
          $("#warningMessage").removeClass("alert-success"); 
          $("#warningMessage").addClass("alert-danger"); 
          $("#warningMessage").show(); 
         } 
         else{ 

          $("#betaForm button").prop("disabled",true); 
          $("#betaForm button").html("Awesome! Well Be In Touch."); 


         } 
        }, 
       dataType: 'json' 
      }); 
     } 
     $(".loadingPic").hide(); 
     return false; 
    }); 

Когда кнопка нажата представить, я получаю ошибку в моем браузере консоли.

+0

Если кому-то нужно подробнее ... do tell – alaboudi

+0

Кроме того, я использую Apache2 – alaboudi

+0

Какой URL-адрес действительно отправляется? – James

ответ

2

Я думаю, проблема на 'middleware' => 'csrf'.

+1

Почему? что с этим не так? – alaboudi