Dies ist mein erster Versuch, Ajax zu Post anstelle von Get zu verwenden. Ich bekomme eine 200 Antwort, als würde es funktionieren, aber die Funktion im Controller wird nie ausgeführt.Laravel 5 Ajax Post Route
Ich habe das gleiche Konzept in meinem Ajax Get Anfragen und sie funktionieren gut, aber die Post funktioniert nicht wie erwartet und sortierbar ('serialisieren') erstellt eine Post-Variable, so dass ich Post verwenden muss.
Die Warnung in der Funktion success: läuft immer so, als ob sie erfolgreich wäre, aber die Controller-Funktion wird nie getroffen (ich habe eine einfache Datenbankänderung vorgenommen, nur um zu überprüfen, ob sie läuft).
Ajax:
$(function() {
$('[id^="sortable_"]').sortable(
{
connectWith: '.sortable-line-item-list-5',
update : function (event, ui)
{
var items = $(this).sortable('serialize');
$.ajax({
type: 'post',
url: '/api/sort_order_item',
data: {
'items': items,
},
success: function()
{
alert('looks like it is working...');
},
});
}
});
$('[id^="sortable_"]').disableSelection();
});
Route:
Route::post('api/sort_order_item', ['as' => 'api/sort_order_item', 'uses' =>'[email protected]']);
Controller:
public function SortOrderItem()
{
$this_item = \pmms\Checklist_template_line_item::findOrFail(20);
$this_item->list_position = 1;
$this_item->save();
}
hilft Wenn die Anforderung die Methode nicht trifft, dann sollten Sie kein '200' Statuscode erhalten. Es ist die Methode zu treffen, stellen Sie sicher, dass 'dd (app ('request') -> all())' in der Methode und überprüfen Sie die Registerkarte Netzwerk in Ihrem Browser. Außerdem haben Sie das Schlüsselwort "return" nicht verwendet und keine Antwort gesendet. –
Ich habe beide dieser Dinge müde - die dd() wird nie in der Methode getroffen. Das Schlüsselwort return gibt auch nichts zurück. Ich schaute auf den Netzwerk-Tab in Chrome zeigt eine 200 Antwort, aber von localhost/home, nicht die api/sort_order_item, die eine 302 direkt davor zurückgibt. – circle1
Dann gibt es eine Weiterleitung für 'auth' wie Dinge. –