【ajax】複数のajax送信を同時に行ってPHPのセッションを扱うときの注意点
ajaxでは非同期通信を行えるので、一つのajax送信を実行しつつ別のajax送信も同時に行なえます。
そのため1つのページを閲覧中に複数のページにデータ送信を行い(複数のプログラムを走らせ)、その結果をページに出力できます。
この便利な機能をフル活用していたのですが、PHPのセッションへのアクセスでハマったことがあったのでメモしておきます。
Java、PHP、javascriptなどのプログラミング&Wordpress、HTML、CSSなどのWeb情報ブログ(最近は雑記や仮想通貨のことなど幅広く)
ajaxでは非同期通信を行えるので、一つのajax送信を実行しつつ別のajax送信も同時に行なえます。
そのため1つのページを閲覧中に複数のページにデータ送信を行い(複数のプログラムを走らせ)、その結果をページに出力できます。
この便利な機能をフル活用していたのですが、PHPのセッションへのアクセスでハマったことがあったのでメモしておきます。
これまで同一ドメインの中で「post-send.html」からajax送信で「post-receive.php」にデータをPOSTしてその結果(データ)を受け取っていたのですが、別ドメインに「post-receive.php」を設置して同じようにajax送信したらうまく動きませんでした。
「post-receive.php」を別ドメインに移動させただけでプログラムの記述は全く変更していないのになぜ?
と疑問になったのですが、その理由がわかりました。
配列に格納されている要素をループを使って出力すると一度にすべての要素が出力されますが、一定間隔の時間(数秒)を空けて一つずつ出力したい場合はどうすればいいのでしょうか?
ここでは私が行った方法を記載しています。
javascriptでcookieの発行、取得、削除は少々面倒ですが、jQueryのプラグイン「jquery.cookie」を使えば容易かつ簡単にcookie操作が可能になります。
JQueryで処理待ち中にアニメーションを流す方法を紹介します。
ページの読み込みやajaxでの通信に時間がかかる場合、ユーザーに「動いているのか?」とストレスを与えるかもしれないので、そういうときに有効かと思います。