API.php
Route::get('/products', 'ProductsController@index');
Запрос:
$products = DB::table('sizes')
->join('products', 'sizes.id', '=', 'products.sizes')
->join('categories', 'products.category', '=', 'categories.id')
->select('products.*', 'categories.catname', 'categories.catimage', 'categories.catdescription', 'sizes.size')
->where([['products.is_active', '=', 1],['categories.is_active', '=', 1],])
->orderBy('products.id', 'ASC')
->paginate(5);
return $products;
Vue-компонент:
<div v-for="product in products.data" :key="product.id">
<h1>{{ product.name }}</h1>
</div>
<pagination :data="products" @pagination-change-page="getResults"></pagination>
methods: {
getResults(page = 1) {
this.$url.get('products/results?page=' + page)
.then(response => {
console.log(response)
this.products = response.data;
});
}
}
Первоначальная загрузка товаров работает, показывает 5 товаров и показывает пагинацию. Всякий раз, когда я пытаюсь щелкнуть новую страницу из разбивки на страницы, я получаю несколько ошибок.
CORS (чего я не понимаю, поскольку мое приложение полностью общедоступно) и две сетевые ошибки
from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource
net::ERR_FAILED
Uncaught (in promise) Error: Network Error
Есть ли что-то, что мне здесь не хватает? Должен ли я создать другую конечную точку, которая обрабатывает разбивку на страницы, или это должно обрабатываться из той же самой конечной точки, где она получает исходную разбивку на страницы?