ein JavaScript-Code „map“ -Methode auf Array von Objekt verwendet nur den Textwert zu extrahieren:Laravel Array von Zeichenketten zu routen Aktion
var checked_leaves = checked_ids.filter(function(elm) {
if (elm.children.length == 0)
return elm;
}).map(function(elm, index) {
return elm.text.trim();
});
Dieses Array von Zeichenfolge wird an einen Laravel Route gesendet Ajax (mit Vue http)
this.vm.$http.get(this.el.action + checked_leaves).then((response) => {
console.log(response);
//this.vm.speciesDetails = JSON.parse(response.data);
}, (response) => {
});
Wo die this.el.action ist api/taxonomytospecies/und die entsprechende Strecke ist:
Route::get('api/taxonomytospecies/{ids}', '[email protected]');
Und innen TaxonomyController:
public function getSpeciesFromTaxonomy($ids) {
// Eloquent job to retrieve the data from the DB
}
1) Gibt es einen besseren Weg, um ein Array von Werten, wie ich sie aus dem JavaScript-Code bekommen passieren (sie sind viele Strings) auf einer Strecke von einem Controller?
2) Ich bekomme einen internen 500 Fehler. Der Fehler zeigt, dass der Anruf wie:
api/taxonomytospecies/name1, name2, name3, name4, name5
Aber ich weiß nicht, wie diese Art von Fehler zu beheben
Ich habe Ihre Lösung versucht. Wenn ich eine console.log (Daten) ausgabe, ist die Ausgabe korrekt; aber sobald ich die ajax anfrage: this.vm. $ http.get (this.el.action + data) .dann ((response) ... antwortet der server mit einem 500 internen fehler. ich habe beide lösungen ausprobiert mit POST (wegnehmen der {ids} als Parameter in der Route definiton und der Lösung mit GET. Es gibt anscheinend schon eine Kopfzeile für das X-CSRF-TOKEN am Anfang der Vue-Datei. –
Hat es funktioniert? –
Nein –