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

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

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

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

PHP

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

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

解決済

1回答

2630閲覧

laravelでapiでajax送信するとログアウトされる

退会済みユーザー

退会済みユーザー

総合スコア0

Laravel

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

PHP

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

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2020/07/17 10:42

編集2020/07/25 23:54

laravelでログイン後にajaxで通信を行った後に、ブラウザをリロードするとログアウトされてしまいます。
レスポンス自体は正常に受信出来るのですが、何がいけないのでしょうか。

php

1 // /api/data/sendのメソッド 2 public function method(Request $request) 3 { 4 $user = Auth::user(); 5 6 // 略 7 8 return response()->json(['success' => true], 200, ['Content-Type' => 'application/json'], JSON_UNESCAPED_SLASHES); 9 }

php

1protected $middlewareGroups = [ 2 'web' => [ 3 // 略 4 ], 5 6 'api' => [ 7 'bindings', 8 'throttle:60,1', 9 \App\Http\Middleware\EncryptCookies::class, 10 \Illuminate\Session\Middleware\StartSession::class, 11 ], 12 ];

php

1protected $middlewareGroups = [ 2 'guards' => [ 3 'web' => [ 4 'driver' => 'session', 5 'provider' => 'users', 6 ], 7 8 'api' => [ 9 'driver' => 'token', 10 'provider' => 'users', 11 'hash' => false, 12 ], 13 ],

php

1<meta name="api_token" content="{{ Auth::user()->api_token ?? null }}"> 2 3 4$.ajax({ 5 type: "POST", 6 url: "/api/data/send", 7 headers: { 8 'Authorization': 'Bearer ' + $('meta[name="api_token"]').attr('content') 9 }, 10 data: JSON.stringify({'data': 'dummy'}), 11 contentType: "application/json", 12 dataType: 'json', 13 success: function(res) { 14 // 略 15 }, 16 error: function(res){ 17 // 略 18 } 19});

laravel:6.2

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

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

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

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

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

guest

回答1

0

ベストアンサー

レスポンス自体は正常に受信出来るのですが

successコールバック関数のresはsuccessでレスポンスされますか?

サーバー側のapi/data/sendで何かしら制御が介入しているのではないでしょうか?

  1. セッションが切れるとの事ですので、セッションIDがCookie保持なら、Cookieの有効期限が切れてる?

setcookieで有効期限が過去時刻で更新されてませんか?

  1. ブラウザー側保持のセッションIDの値と有効期限に異常が無さそうな場合は、サーバー側の該当セッション情報の認証状態の値の変化はないでしょうか?

laravelは詳しくないので的外れなら申し訳ないですが・・

投稿2020/07/29 03:25

編集2020/07/29 03:27
HS1111

総合スコア91

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問