質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

5089閲覧

laravel + Vue.js でDBからデータを取得したい。

退会済みユーザー

退会済みユーザー

総合スコア0

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

1クリップ

投稿2019/01/13 17:04

https://qiita.com/acro5piano/items/f33381fc60408abe9865
このページを参考にlaravelVue.jsでアプリを作成しています。
Vue側で作成したAPIでDBからデータをとってくることができません。
わかる方がいらっしゃいましたご教示ください。
下記はVueのコンポーネントになります。

Vue

1<template> 2 <div class="notice-field"> 3 <div class="room-title">お知らせ</div> 4 <div v-for="notice in notices"> 5 {{ notice.title }} 6 {{ notice.text }} 7 </div> 8 </div> 9</template> 10 11<script> 12export default { 13 created() { 14 this.getNotices() 15 }, 16 data() { 17 return { 18 notices: [] 19 } 20 }, 21 methods: { 22 getNotices() { 23 this.$http.get('/api/getNotices') 24 .then(res => { 25 this.notices = res.data 26 }) 27 } 28 } 29} 30</script>

下記はroutes/api.phpのDBにアクセスするコードになります。

php

1 2Route::group(['middleware' => 'api'], function() { 3 Route::get('notices', function() { 4 $notices = Notice::all()->take(5); 5 return $notices; 6 }); 7});

axiosの設定は以下になります。

bootstrap

1import Vue from 'vue' 2 3window._ = require('lodash'); 4 5try { 6 window.Popper = require('popper.js').default; 7 window.$ = window.jQuery = require('jquery'); 8 9 require('bootstrap'); 10} catch (e) {} 11 12window.axios = require('axios') 13 14window.axios.defaults.headers.common = { 15 'X-CSRF-TOKEN': window.Laravel.csrfToken, 16 'X-Requested-With': 'XMLHttpRequest' 17} 18 19Vue.prototype.$http = window.axios 20 21let token = document.head.querySelector('meta[name="csrf-token"]'); 22 23if (token) { 24 window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content; 25} else { 26 console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token'); 27}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mpyw

2019/01/14 03:04

F12キーでConsoleを出して、なにかエラーが出ていないかを確認してください。
退会済みユーザー

退会済みユーザー

2019/01/14 07:39 編集

エラーの出力はないのですが大量の空白が出力されています。 ``` {{notice.title}} {{notice.text}} ``` の部分が大量の空白で出力されています。 また`{{noteice}}`で出力するとDOCMENTTYPE...のようにHTML本文のような出力になってしまいます。
mpyw

2019/01/14 07:46 編集

おそらくPHP側でエラーが出ているはずです。 res.data の中身を確かめる、あるいはPHP側のエラーログを確認してください。
退会済みユーザー

退会済みユーザー

2019/01/14 11:59

簡単なタイポでした。 コメントのおかげでログ出力に対する知見をえました。ありがとうございます。
guest

回答1

0

ベストアンサー

from

this.$http.get('/api/getNotices')

to

this.$http.get('/api/notices')

投稿2019/01/14 11:27

terakumi

総合スコア23

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/01/14 11:58

簡単なミスでした。 できました。ありがとうございます。
mpyw

2019/01/14 12:28

気づかなかった…w
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問