Ich versuche, Daten aus einer Datenbank mit vuejs Ajax Aufruf mit einem Plugin namens vue-resource abrufen. Unglücklicherweise enthält das json-Datenobjekt die HTML-Seite und nicht die tatsächlichen Daten aus der Datenbank. Kann mir bitte jemand sagen, was falsch ist? Dies ist mein Code:Vuejs ajax GET-Anfrage nicht Daten in Laravel 5.1 Blade-Vorlage
routes.php
<?php
Route::get('find', '[email protected]');
fruitsctrl.php (Controller)
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Fruit;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class FruitsCtrl extends Controller
{
public function index(Request $req){
$fruits = Fruit::all();
return view('fruitsHome', $fruits);
}
}
fruit.php (Modell)
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Fruit extends Model
{
protected $fillable = [
'id', 'name', 'type'
];
}
fruitshome.blade. php (view)
<head>
<meta id="token" content="{{ csrf_token() }}">
</head>
<body>
<div class="row" id="vapp">
<ul>
<li v-for="fruit in fruits">
@{{ fruit.name }}
@{{ fruit.type }}
</li>
</ul>
</div>
<body>
app.js (Javascript)
Vue.http.headers.common['X-CSRF-TOKEN'] = document.querySelector('#token').getAttribute('content');
var v = new Vue({
el : "#vapp",
ready :function() {
this.fetchFruits();
},
data : {
fruit : {id:'', name:'', type:''},
fruits : []
},
methods : {
fetchFruits : function(){
this.$http.get('/find').then(function(res){
this.fruits = res;
},function (data){
console.log(error ...);
});
}
}
});
Vielen Dank für Ihre Antwort. Ich habe Ihren Vorschlag versucht, aber es funktioniert nicht. Ich erhalte eine Fehlerausnahme in illuminates \ View \ View.php. Der Fehler ist ein ungültiger Offset-Typ ... – DBoonz