2014-07-19 4 views
0

저는 AJAX Jquery의 초보자입니다. 내 양식에는 사용자가 선택한 dualistbox_demo1 []이라는 값 배열이 포함됩니다. 그러나, 그것은 아약스 함수를 내 데이터베이스에 값을 저장하지 않는 것 같습니다.Laravel의 Ajax Jquery가 값을 데이터베이스에 저장하지 않습니다.

블레이드 템플릿 내 양식 :

<script> 
$("#demoform").submit(function() { 
    $.ajax({ 
    url: 'action', 
    type: 'POST', 
    data: ('[name="duallistbox_demo1[]"]').val(), 
    success : function(data) 
    { 
     console.log(data); 
    } 
    }); 
}); 
</script> 

내 routes.php가 :

{{Form::open(array('url' => 'schools/assign',"id"=>"demoform"))}} 
<select multiple="multiple" size="10" name="duallistbox_demo1[]"> 

@foreach($user as $key => $value) 
    <option value="{{ $value->id}}">{{ $value->FirstName }} {{ $value->LastName }}</option> 
@endforeach 
</select> 

{{ Form::submit('Submit', array('class' => 'btn btn-default btn-block')) }} 
{{ Form::close() }} 

이 내 JS 스크립트입니다

Route::post('/schools/assign', function(){ 
if(Request::ajax()){ 
    $AC = new AccessControlEntry(); 
    $AC->UserID  = Input::get('duallistbox_demo1'); 
    $AC->save(); 
} 
}); 

정말 알아낼 수있는/어디서 잘못 됐어. 어떤 도움이라도 대단히 감사합니다!

답변

1

문자열 개체에 val 메서드를 호출하려고합니다. 그 외에도에서

data: ('[name="duallistbox_demo1[]"]').val(), 

당신이 identifier:value 쌍을 통과해야합니다 :에 $이/jQuery 누락

data: { 
    'duallistbox_demo1': $('[name="duallistbox_demo1[]"]').val(), 
} 

AA 여러 선택 반품 val 때문에 당신이 할 수 있습니다 배열이를 변환하는 join 메소드를 호출하는 배열을 문자열로 변환합니다.

+0

방금 ​​join 메서드를 읽었으며 implode 함수가 join의 별칭이라는 것을 알았습니다. 그래서이 코드를 추가하여 배열을 문자열로 변환합니다 : '$ selectedadmins = $ ('[name = "duallistbox_demo1 []"]'). $ stringadmins = 내파 (",", $ selectedadmins); 내 $ 아약스 함수 내에서 그래서' , '데이터 : { 'duallistbox_demo1': $ ('stringadmins'), },' 가에 저장 데이터베이스가 여전히 작동하지 않습니다. 내가 잘못 했니? 실제로 Ajax jquery를 이해하는 데 어려움이 있습니다. @undefined –

+0

@AnneTan'data : { 'duallistbox_demo1': $ ('stringadmins'),}는 제가 제안한 것이 아니기 때문에 jQuery 객체를 그런 식으로 전달할 수는 없습니다. 값을 문자열로 전달해야합니다. jQuery 객체를 stringifing하면 "순환 구조를 JSON으로 변환 할 수 없습니다."오류가 발생합니다. – undefined

관련 문제