Я создаю вложенный список с данными из базы данных. В этом списке я использую эффект JQuery UI Drag
. Что мне нужно сделать, когда перетащить, он обновит базу данных.Ajax on JQuery drag event
Список coints имени профессора и его удостоверения, он имеет в подсписком с его классами, как:
Джон учит математику & физики, Дуэйн преподает английский язык.
Джон
* Физика
* Math
Дуэйн
* Английский
Скажем, я хочу, чтобы дать класс Math для Дуэйна. Поэтому я перетащу Math из Джона и перетащите его в под-список Dwayne. Он работает нормально.
То, что я не могу сделать, это сделать обновление базы данных, потому что Джон больше не преподает математику, а Джон собирается научить его. Поэтому мне нужно сделать обновление там или удалить + вставить.
Obs: Я использую Laravel
Вот мой код:
@extends('app')
@section('assets')
<script type="text/javascript" src="{{ URL::to('/js/jquery.mjs.nestedSortable.js') }}"></script>
@stop
@section('content')
<ol>
@foreach($professores as $prof)
<li data-id=" {{ $prof->id }}">
{{ $prof->nome }}
<ol class="list-disc">
@foreach($prof->disc as $disc)
<li data-id="{{ $disc->id }}">{{ $disc->nome }}</li>
@endforeach
</ol>
</li>
@endforeach
</ol>
<script type="text/javascript">
$(function(){
var old_teacher;
$('.list-disc').sortable({
connectWith: '.list-disc',
start: function (event, ui){
old_teacher = ui.item.parent().parent().attr('data-id');
},
stop: function (event, ui){
$.ajax({
type: "POST",
url: '{{ URL::to("/professor") }}',
data: {disc: ui.item.attr('data-id'), professor: ui.item.parent().parent().attr('data-id'), old: old_teacher},
success: function(data){
console.log(data);
}
});
}
});
})
</script>
@stop
С помощью этого кода в настоящее время, когда я падаю деталь я получаю:
Internal Server Error (500)
UPDATE
Маршрут Файл:
Route::post('professor', [
'uses' => '[email protected]'
]);
Контроллер файла:
public function postProfessorList()
{
Professor::submit(Input::post('disciplina'), input::post('professor'), input::post('old'));
}
файла журнала: Обновление
local.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Call to undefined method Illuminate\Http\Request::post()' in F:\PathToProject\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php:210
Просто обновленный файл маршрута и модель. Если бы вы могли, пожалуйста, протянуть мне руки ...Благодаря ! – PlayHardGoPro
Хорошо, не думайте, что есть метод Input :: post(). Вы захотите изменить Input :: post на Input :: get, это должно вернуть вам правильные значения. Вы также можете проверить журналы laravel, которые вы можете найти в приложении/хранилище (по крайней мере, если вы используете Laravel 4) - они должны дать вам лучшее описание возникшей ошибки. –
Спасибо, человек! На самом деле я на самом деле в этой области. Я обновлю информацию, которую я нашел в файле журнала. – PlayHardGoPro