2017-01-31 1 views
0

Laravel의 CSRF에 대한 몇 가지 질문을 읽었지만 여전히 React와 함께 사용하는 방법을 찾지 못했습니다. 목표는 AJAX 호출을 작성하는 POST 양식을 작성하는 것입니다.React js - Laravel 5 : POST 메서드에서 csrf-token 사용

여기 내 render()의 압축을 풉니 다.

render() { 
return (
    <form method="post" action="logpage"> 
    <input type="hidden" name="csrf-token" value="{{{ csrf_token() }}}" /> 
    //I'm sure this doesn't have csrf_token. 

    <input type="text" name ="word" value={this.state.word || ''}/> 
    <button onClick={this.submit} className="btn btn-flat btn-brand waves-attach waves-effect" data-dismiss="modal" type="button">Save</button> 
    </form> 
); 
} 

여기에 제출 기능이 있습니다.

submit(){ 
fetch('/words', { 
    method: 'POST', 
    headers: { 
    'Accept': 'application/json', 
    'Content-Type': 'application/json', 
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
    }, 
    body: JSON.stringify({ 
    //parameters 
    }) 
}).then((response)=>{ 
    console.log(response); 
}); 
} 

문제는 내가 가정 토큰이 생성되지 않기 때문에 $('meta[name="csrf-token"]').attr('content')가 전송되지 않는 것입니다. 그러나 React에서 어떻게 생성 할 수 있는지 알지 못합니다.

누구나 아이디어가 있습니까? 액세스 내가이 당신을 위해 일하는 희망

'X-CSRF-TOKEN': csrf_token 

자바 스크립트

어디서나

<script> 
    var csrf_token = '<?php echo csrf_token(); ?>'; 
</script> 

을 그리고 :

답변

0

이 같은 자바 스크립트에서 토큰을 에코 할 수 있습니다.