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();
}
});
정말 알아낼 수있는/어디서 잘못 됐어. 어떤 도움이라도 대단히 감사합니다!
방금 join 메서드를 읽었으며 implode 함수가 join의 별칭이라는 것을 알았습니다. 그래서이 코드를 추가하여 배열을 문자열로 변환합니다 : '$ selectedadmins = $ ('[name = "duallistbox_demo1 []"]'). $ stringadmins = 내파 (",", $ selectedadmins); 내 $ 아약스 함수 내에서 그래서' , '데이터 : { 'duallistbox_demo1': $ ('stringadmins'), },' 가에 저장 데이터베이스가 여전히 작동하지 않습니다. 내가 잘못 했니? 실제로 Ajax jquery를 이해하는 데 어려움이 있습니다. @undefined –
@AnneTan'data : { 'duallistbox_demo1': $ ('stringadmins'),}는 제가 제안한 것이 아니기 때문에 jQuery 객체를 그런 식으로 전달할 수는 없습니다. 값을 문자열로 전달해야합니다. jQuery 객체를 stringifing하면 "순환 구조를 JSON으로 변환 할 수 없습니다."오류가 발생합니다. – undefined