2013-07-16 7 views
0

저는 많은 경험이있는 개발자가 아니므로 양식에 ajax를 사용하는 방법을 알아낼 수 없었습니다. 부트 스트랩 선행을 사용하려고합니다. 하지만 내 csrf_token 필터가 "500"오류를 발생시킵니다. 내 아약스 스크립트에서 csrf_token을 어디에서 보낼 수 있습니까?선행 기입 양식에 csrf_token()을 어떻게 추가 할 수 있습니까?

<script> 
     $('.typeahead').typeahead({ 
      source : function(typeahead, query){ 
        $.ajax({ 
         url  : 'typequery', 
         type  : 'POST', 
         data  : { query : query, column : 'title' }, 
         dataType : 'json', 
         async : true, 
         success : function(data) { 
          return process(data.titles); 
         } 
        }); 
       } 
     }); 
</script> 

여기 내 양식을 채워야합니다. 게시물 필터에 댓글을 달면 작동합니다.

{{ Form::open(array('url' => 'searchblogs' ,'id' => "search", 'class' => "input-append")) }} 
<!-- CSRF Token --> 
<input type="hidden" name="_token" value="{{ csrf_token() }}" /> 
<input id="typeahead" size="400" type="text" 
     data-provide="typeahead" data-items="4" /> 
<input class="btn search-bt" type="submit" name="submit" value="" /> 
{{ Form::close() }} 

여기 내 컨트롤러에 대한 도움이

public function postTypeahead() 
{ 
     $query = Input::get('query'); 

     // Search the database. 
     // 
     $results = Post::select('title')->where('title', 'LIKE', '%' . $query . '%')->take(5)->get(); 
     $data = array(); 
     // Loop through the results. 
     // 
    foreach ($results as $result): 
     $data[] = $result->title; 
    endforeach; 


// Return a response. 
// 
return Response::json($data); 

감사합니다.

+0

서버 측에서 수행하는 작업은 무엇입니까? –

+0

컨트롤러를 붙여 넣었습니다. – ytsejam

+0

캔트가 이스라엘을 의미하는 것을 이해합니까? – ytsejam

답변

1

우선, 아약스 요청을 디버그 해보십시오. Google 크롬을 사용하는 경우 개발 도구 (Top right button > Tools > Developer tools)를 엽니 다.

일단 열면 Network tab으로 이동하고 하단 바에서 XHR을 클릭하십시오. 여기서 모든 비동기 요청을 볼 수 있습니다. 요청을 받으면 오류가 있는지 확인하십시오.

+0

어떻게 해결 했습니까? 대답은 디버그 방법을 보여 주지만 실제 수정 사항은 무엇입니까? –

+0

오류 메시지에 따라 다르지만, 나는 추측 할 수 없습니다. –

관련 문제