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

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

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

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

1回答

1420閲覧

Nuxtとlaravel8でAPI通信した際corsエラーが出る

Tikka

総合スコア11

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

0グッド

0クリップ

投稿2021/08/14 09:45

編集2021/08/20 23:29

現在LaravelでAPIを開発しており、Nuxt側でAPIを叩いた際CORSエラーが出てしまいます。
エラーは以下の通りです。

Access to XMLHttpRequest at 'http://127.0.0.1:8000/api/feed?keyword=%E3%83%AF%E3%83%BC%E3%83%AB%E3%83%89%E3%83%88%E3%83%AA%E3%82%AC%E3%83%BC' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

環境
"laravel/framework": "^8.40"
"nuxt": "^2.15.7"

Access-Control-Allow-Originの設定が必要というのは分かるのですが、以下のようなlaravel8のcorsの設定をしたのですが結果は変わりませんでした。

cors.php

'paths' => ['*'], 'allowed_methods' => ['*'], 'allowed_origins' => ['*'], 'allowed_origins_patterns' => [], 'allowed_headers' => ['*'], 'exposed_headers' => [], 'max_age' => 0, 'supports_credentials' => false,

api.php

Route::apiResource('feed', Testfeedcontroller::class);

MangaController.php

{ $keyword = $request->input('keyword'); $iskeyword = Manga::where('title', 'like', '%'.$keyword.'%')->first(); if (!$iskeyword) { echo 'DBに新しく登録します'; // $options = [ // 'http' => [ // 'method' => 'GET', // 'header' => 'user-agent:MyUserAgent' // ], // ]; $RakutenUrl = "https://app.rakuten.co.jp/services/api/BooksBook/Search/20170404?applicationId=1064175175388514312&title={$keyword}&booksGenreId=001&size=9"; // $json = file_get_contents($RakutenUrl, false, stream_context_create($options)); $json = file_get_contents($RakutenUrl); // dd($json); $json_decode = json_decode($json, true); // dd($json_decode); $res = []; foreach ($json_decode['Items'] as $item) { $title = $item['Item']['title']; $ImageUrl = $item['Item']['largeImageUrl']; $source_url = $item['Item']['itemUrl']; $res[] = [ 'title' => $title, 'ImageUrl' => $ImageUrl, 'itemUrl' => $source_url, ]; } // dd($res); // return $res; foreach ($res as $i) { $manga = new Manga; $manga->title = $i['title']; $manga->img_url = $i['ImageUrl']; $manga->source_url = $i['itemUrl']; $manga->save(); }; $getmanga = Manga::where('title', 'like', '%'.$keyword.'%')->get(); // dd($getmanga); foreach ($getmanga as $m) { $title = $m->title; $ImageUrl = $m->img_url; $source_url = $m->source_url; $result[] = [ 'title' => $title, 'img_url' => $ImageUrl, 'source_url' => $source_url ]; }; // dd($result); return $result; // } } elseif ($keyword) { echo 'DBに登録されています'; // dd($iskeyword); $searchmangas = Manga::where('title', 'like', '%'.$keyword.'%')->get(); // dd($searchmangas); $result2 = []; foreach ($searchmangas as $m) { $title = $m->title; $ImageUrl = $m->img_url; $source_url = $m->source_url; $result2[] = [ 'title' => $title, 'img_url' => $ImageUrl, 'source_url' => $source_url ]; } return result2; } }

よろしくお願いします。

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

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

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

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

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

guest

回答1

0

controllerからの返却値を以下のように変更したらどうなりますでしょうか?><

return response($result);

投稿2021/08/27 17:17

kawa_kawawaka

総合スコア71

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問