Intereting Posts
Как настроить SSL с помощью Laravel 5 за балансировщиком нагрузки (ssl_termination)? MySQL, где column = 'x, y, z' Как отправить электронное письмо с помощью PHP? Как отключить магические кавычки в файле конфигурации PHP? Я использую XAMPP Simplexml получает атрибуты с пространством имен Удаление HTML из результата jQuery load () Выйти из уязвимости XSS, поддерживая синтаксис Markdown? PHP – самый легкий psr-0 совместимый автозагрузчик PHP некоторые значения $ _POST отсутствуют, но присутствуют в php: // input Чтение XML-данных в PHP, простое Прочитайте каждую строку файла txt новому элементу массива Как проверить, изменилось ли значение объекта JSON при захвате нового запроса Продолжайте получать ошибки на веб-сайте с помощью AnchorCMS Как изменить второй раскрывающийся список на основе раскрывающегося списка? обрезание URL-адреса по модулю связи или проблеме форматирования страниц в drupal 7

Пользовательский интерфейс jQuery Sortable с Laravel не отправит

После большого количества проб и ошибок я, наконец, получил отсортированный список, который позволит вам перетащить и перейти на курорт, но я не могу получить список для сохранения.

Я предполагаю, что это проблема с частью JS кода, потому что, по-видимому, контроллер никогда не вызывается. И если у меня было что-то не так с тем, как я вызвал контроллер, но он все еще пытался, то Laravel выдавал бы ошибку.

Ответ, вероятно, очень прост, но я не знаю много о JQuery или Ajax, поэтому я не мог обнаружить проблему.

Вот мой код:

Посмотреть

<ul class="sortable" style="list-style-type: none;"> @foreach ($departments as $department) <li class="row" id="{{ $department->id }}"> <div class="col-xs-9"><span style="color: {{ $department->color }};">{{ $department->name }}</span></div> <div class="col-xs-3"> <a href="{{ URL::route('chapter.editDepartment', (array($chapter->slug, $department->id))) }}"> EDIT </a> </div> </li> @endforeach </ul> 

JS После использования «источника просмотра» я вижу, что URL-адрес действительно генерируется правильно, поэтому это должно быть хорошо.

  <script> $('.sortable').sortable().bind('sortupdate', function(e, ui) { var order = $('ul.sortable li').map(function(){ return $(this).data("id"); }).get(); $.ajax({ type: "POST", url: "{{ URL::route('chapter.departmentSort', $chapter->slug) }}", dataType: "json", data: {order: order, uuid: uuid}, success: function(order){ console.log(order) } }); }); </script> 

контроллер

 public function departmentSort($chapterSlug) { // Get the chapter ID $chapter = $this->getChapterFromSlug($chapterSlug); $input = Input::get('order'); $i = 1; foreach($input as $value) { $department = Department::find($value); $department->sort_order = $i; $department->save(); $i++; } return Redirect::route('chapter.chapterDepartments', $chapter->slug); } 

маршрут

 Route::post('{slug}/orderDepartment', ['as' => 'chapter.departmentSort', 'uses' => 'SerenityController@departmentSort']); 

ОТВЕТ

Благодаря Джошу я смог понять это, и с чуть-чуть большим поиском я получил его на работу! $ .ajax не работал, и консоль ничего не показала для этого, но я поменял его на $ .post, и он работает как чемпион.

 $.post("{{ URL::route('chapter.departmentSort', $chapter->slug) }}", { order: order } ); 

Теперь единственная проблема заключается в том, что drag & drop не работает на ipad …