2016-07-09 1 views
0

:방법 laravel에서 경로의 URL에 게시하는 나는이 경로를 사용하고

Route::post('cp/admin/checkUserPassLogin','Panel\[email protected]'); 

내 컨트롤러 :

use Illuminate\Http\Request; 
use App\Http\Controllers\Controller; 
use App\Http\Requests; 
use DB; 
use App\Quotation; 
.... 
public function checkUserPassLogin(Request $request) 
{ 
    echo 'test'; 
    return 'test'; 

} 

와 내보기에

enter image description here :

function login() 
    { 
     console.log('test'); 
     var email = $('#email_admin').val(); 
     var pass = $('#pass_admin').val(); 

     if(!email || !pass) 
       return ; 

     console.log(email+'-'+pass); 
     $.post("{{ url('/cp/admin/checkUserPassLogin') }}", {username:email,pass:pass}, function (data) { 


      console.log(data); 


      if(data == 'ok') 
      { 
       window.location.href = ".........."; 
      }else{ 

      } 

     }); 
    } 

console.log(email+'-'+pass);은 내 값을 인쇄하지만 console.log(data);은 아무 것도 반환하지 않습니다.

+0

컨트롤러에서 'echo' 줄을 제거하고 작동하는지 확인하십시오. – Alfa

+0

작동하지 않습니다 !!!! –

+0

Linux를 사용하는 경우 curl을 사용하는 것이 어떻습니까? ** curl --data "email = test & pass = test"http : // yourapp.domain/cp/admin/checkUserPassLogin'과 같은 ** POST ** 요청을하십시오. 당신의 컬이 뭔가를 프린트 했습니까? – Alfa

답변

2

의심 할 여지없이 CSRF 문제입니다. Laravel 5에서는 모든 요청이 올바른 CSRF 토큰없이 POST 요청을 허용하지 않는 미들웨어를 통과해야합니다. 보기 추가 기능에서 어딘가에

:이 문제를 해결하기 위해 당신의 아약스 POST 데이터의 다음

<meta name="csrf-token" content="{!! csrf_token() !!}"> 

추가 :

'_token': $('meta[name="csrf-token"]').attr('content') 

그것은 다음과 같이 표시됩니다

$.post("{{ url('/cp/admin/checkUserPassLogin') }}", {username:email, pass:pass, '_token': $('meta[name="csrf-token"]').attr('content')}, function (data) {...}); 

한 가지 대안은 URL과 마찬가지로 csrf-token을 자바 스크립트에 직접 추가하는 것입니다.

$.post("{{ url('/cp/admin/checkUserPassLogin') }}", {username:email, pass:pass, '_token': "{!! csrf_token() !!}"}, function (data) {...}); 
0

변경

$.post("{{ url('/cp/admin/checkUserPassLogin') }}", {username:email,pass:pass}, function (data) { 

으로

$.post("your route here along with the base url", {username:email,pass:pass}, function (data) { 

예 :

<script type="text/javascript"> 
    var BASE_URL = '{{ asset('/') }}'; 
</script> 
,691 : BASE_URL가보기에 어딘가 바람직 기본보기를 설정

$.post("BASE_URL + "admin/checkUserPassLogin")