PHPでJSONデータを生成し、AJAXを使用してロードしています。ログイン処理中にPHPセッション変数(auth
)が設定されている場合にのみ、JSONを戻したいとします。私は、ブラウザで直接セッションチェック作品をgetjson.php
を開くとajaxコールでPHPセッションチェックが機能しない
getjson.php
<?php
session_start();
if(!isset($_SESSION['auth'])){
// code that sends an error back
} else {
// code that sends json back
}
?>
は
fetch("getjson.php")
.then(res => res.json())
.then(data => { // code that renders the data })
.catch(e => {
console.log("Error " + e)
})
をapp.js。 jsonはユーザがログインしているときのみ表示されます。getjson.php
をajaxを使って取得すると、セッションは認識されず、PHPは常にエラーメッセージを返します。
ajaxを使用してフェッチされたデータを送信する前にセッションをチェックするにはどうすればよいですか?
恐ろしい!それはそれだった。私はajaxリクエストと一緒に正しいヘッダを送らなければなりません。さもなければ、クッキーは送られません。 – Kokodoko