2016-07-22 2 views
0

laravel 5.2에서 jquery와 ajax를 사용하여 편집 게시 시스템을 구축 중입니다. 난 내 부트 스트랩 모달의 변화에 ​​저장 버튼을 클릭하면, 다음과 같은 오류가 표시됩니다laravel에서 jquery와 ajax를 사용하는 500 내부 서버 오류 5.2

Error: POST http://localhost:8000/edit 500 (Internal Server Error)

send @ jquery-1.12.0.min.js:4

ajax @ jquery-1.12.0.min.js:4 (anonymous function) @ myplace.js:24

dispatch @ jquery-1.12.0.min.js:3

r.handle @ jquery-1.12.0.min.js:3

JS 코드 :

보기 파일에 포함
$('#modal-save').on('click' , function() { 

$.ajax({ 

method : 'POST' , 
url : url , 
data: { body: $('#post-body').val(), postid: '' , _token: token }}) 

.done(function(msg) { 

console.log(msg['message']); 

    }); 
    }); 

: 그것은 것 같다

<script> 
    var token='{{ Session::token() }}'; 
    var url='{{ route('edit') }}' ; 
    </script> 


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 

<script src="https://code.jquery.com/jquery-migrate-1.2.1.min.js" ></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script> 
    <script src="src/js/myplace.js"></script> 
+0

는'내부 서버 Error' 당신이해야 당신이 말하는 서버의 방법입니다 그것의 로그 파일을 읽으십시오. 유용한 디버깅 정보를 찾을 수있는 유일한 곳입니다. – Oldskool

+0

@Oldskool 내 로그 파일 : http://laravel.io/bin/E31Qy –

+0

CSRF 토큰이 유효하지 않은 것 같습니다. 또한 http://stackoverflow.com/questions/32738763/laravel-csrf-token-mismatch-for-ajax-post-request – Oldskool

답변

2

csrf 토큰에 문제가 있습니다. 아약스 호출을하기 전에 아약스 설정을 변경하고 아약스를 통해 보낸 모든 헤더에 토큰을 넣으십시오. 이렇게하면 오류가 해결됩니다.

먼저

<meta name="_token" content="{{ csrf_token() }}"> 

그런 다음 아약스 설치

$(function() { 
    $.ajaxSetup({ 
     headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') } 
    }); 
}); 

또는 간단을 조정 메타 태그를 추가

$.ajaxSetup({ headers: { 'csrftoken' : '{{ csrf_token() }}' } }); 
+0

고마워, 잘됐다! –

+0

나에게 큰 시간을 구해주었습니다! 고마워 친구!!!!! –