2014-12-08 3 views
0

내 json에 문제가 있습니다. 나는 json을 가져와 테이블에 넣기 위해 양식을 제출할 때 양식을 제출할 때 양식을 제출할 때 빈 페이지로 리디렉션됩니다. 내 양식 :양식 제출 후 json 가져 오기 및 표시

{{ Form::open(array('url'=>'/register/showMarks','method' => 'post','id'=>'mark-form')) }} 
<p> 
{{ Form::label('Code:') }} 
{{ Form::text('idno',null,array('class'=>'form-control')) }} 
</p> 
{{ Form::submit('Send',array('class'=>'btn btn-primary')) }} 
{{ Form::close() }} 

내 컨트롤러 :

public function getMarks(){ 
    $idno = Input::get('idno'); 
    $aMarks = DB::table('students') 
     ->join('marks','marks.student_id', '=', 'students.id') 
     ->join('objects','marks.object_id', '=', 'objects.id') 
     ->where('students.idno', '=', $idno) 
     ->select('marks.note', 
       'objects.name') 
     ->get(); 
    echo '{"marks":'.json_encode($aMarks).'}'; 
} 

내 JSON

{ 
    "marks": [ 
    { 
     "note": "6", 
     "name": "Name 1" 
    }, 
    { 
     "note": "9", 
     "name": "Name 2" 
    },] 
} 

내 JQuery와 :

<table class="mGrid" id="jsondata"> 
    <thead> 
     <th>Object</th> 
    </thead> 
    <tbody></tbody> 
</table> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#mark-form').submit(function(e){ 
     var url='/register/showMarks'; 
     $("#jsondata tbody").html(""); 
     $.getJSON(url,function(data){ 
      $.each(data.marks, function(i,mark){ 
       var newRow = 
        "<tr>" 
        +"<td>"+mark.name+"</td>" 
        +"</tr>" ; 
       $(newRow).appendTo("#jsondata tbody"); 
      }); 
     }); 
    }); 
    }); 
</script> 

내가 백엔드 개발자로서 생각하는 이 jquery에 오류가 있습니다.하지만 이해가 안돼.

+0

가능한 중복/question/27317704/build-a-table-from-submiting-a-form) – Ferret

+0

자바 스크립트 객체의 배열에 여분의','이 있습니다 –

답변

0

양식 제출 중 기본 동작을 방지해야합니다. e.preventDefault 메소드를 사용하여이를 수행 할 수 있습니다. 그에

더보기 : https://developer.mozilla.org/en/docs/Web/API/event.preventDefault

확인이 작동하는 경우 : (http://stackoverflow.com [양식을 제출 중 한 후 선택하여 SQL에서 테이블을 작성]의

$(document).ready(function(){ 
       $('#mark-form').submit(function(e) 
       e.preventDefault(); 
        { 
        var url='/register/showMarks'; 
         $("#jsondata tbody").html(""); 
          $.getJSON(url,function(data){ 

          $.each(data.marks, function(i,mark){ 
        var newRow = 
         "<tr>" 
          +"<td>"+mark.name+"</td>" 
         +"</tr>" ; 
        $(newRow).appendTo("#jsondata tbody"); 
        }); 
       }); 
       }); 
      }); 
+0

오류가 발생합니다 : 405 Method Not Allowed –

+0

그러면 폼의 동작과 관련이 있습니다. 제출 장소는 어디입니까? –