2016-07-27 15 views
1

안녕하세요, 저는 PHP Laravel에서 작업하고 있습니다. 모달 데이터를 제출하려고하는데 제출 후 모달을 닫으려고합니다. 성공, redirect.But하지만 둘 다 작동하지 않습니다, 그래서 내가 리디렉션되고 제출 후 제출 된 데이터가 없습니다 데이터베이스에 추가됩니다.제출 된 데이터가 데이터베이스에 저장되지 않고 제출 후 리디렉션 됨

양식에 데이터를 입력 한 후 submit을 누르면 \ 페이지로 리디렉션되고 데이터베이스를 확인합니다. 아무 것도 추가되지 않습니다. 그러나 데이터를 추출 할 수 있으므로 연결 또는 구성이 아닙니다. .

제출 후 동일한 페이지에 머무르고 싶습니다. 모달을 닫으면됩니다 (나중에 성공할 것입니다).

<div class="modal fade" id="myModal" role="dialog"> 
    <div class="modal-body"> 

     <form id="eventForm" method="post" action="createEvent"> 
      //a couple inputs 
      //a submit button 
     </form> 
    </div 
</div> 

이것은 jQuery를 데이터 제출 및 비 재

$(document).ready(function() { 

$('#eventForm') 
     .formValidation({ 
      framework: 'bootstrap', 
      //icon,fields validation 
     })    
     .on('success.form.bv', function (e) { 
     e.preventDefault(); 
      var $form = $("#eventForm"), 
      url = $form.attr('action'); 
      $.post(url, $form.serialize()).done(function() { 
       $("#myModal").dialog("close"); 
      }); 
      }); 
      }); 

내 경로

route::post('createEvent' , '[email protected]'); 

을 처리하는 컨트롤러를 처리 :

내에서 모달 형태이다 요청

public function store(Request $request) 
{ 
    $event= new event(); 

    //retrieving the data here 

    $event->name = $request->name; 
    $event->description = $request->description; 
    $event->ending_date = $request->ending_date; 
    $event->starting_date = $request->starting_date; 
    $event->assigned_to = $request->assigned_to; 
    $event->save(); 
} 

네임 스페이스 및 사용법은 정확하지만 원하는 경우 게시 할 수 있습니다. 제안 사항이 있으십니까? 개발자와 도구에서

업데이트

, 난 내가 요청을 보냈지 만 단순히 302 리디렉션과 같이 제출 될 수 있도록 자바 스크립트 코드가 실행되지되고 있음을 발견, 네트워크 섹션을 확인 제출 버튼을 누르십시오.

console.log에 자바 스크립트 코드를 사용해 보니 실행되지도 않았지만 페이지에 도달하지 못했다는 것을 깨닫게되어 해결해야 할 또 다른 문제가 있습니다.

+0

개발자 도구의 네트워크 탭에서 무엇을 볼 수 있습니까? 아약스 요청이 제대로 이루어지고 있습니까? 반환 값은 무엇입니까? – Gaurav

답변

1

CSRF 토큰을 확인합니까?

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

과 같은 필드로 형태로

:

<form method="POST" action="/profile"> 

{{ csrf_field() }} 
... 
</form> 

또는에서 경로를 제외하여이 CSRF가 확인되고,이 같은 경우 다음과 같이 게시 할 때, 하나는 토큰을 포함하십시오 그들이 당신에게 더 많은 일을 설명해야

class VerifyCsrfToken extends BaseVerifier 
{ 
    /** 
    * The URIs that should be excluded from CSRF verification. 
    * 
    * @var array 
    */ 
    protected $except = [ 
     'stripe/*', 
    ]; 
} 

확인이 Laravel Docs을 (당신의 VerifyCsrToken.php 확인).

\으로 항상 리디렉션한다고 말하면 로그인하지 않았는지 확인한 후 csrf 토큰 (포함하지 않았 음)을 확인할 수 없으므로 선택했는지 확인했습니다.

는 제출 멈추지 않는 이유를 모르겠어,

제출에 관해서는 업데이트,하지만 난

$("#formi_id").submit(function(e){ 
return false; 
}); 

을 시도하거나 working example를 확인합니다. 희망이 도움이됩니다.

+0

고마워요. 저를 위해서 고맙습니다. 중복 된 게시물을 가지고 있지만, 두 번째 서버는 500 개의 내부 서버를 갖습니다. – LaravelOnly

관련 문제