
No.2ベストアンサー
- 回答日時:
> なお、例えばPHPから配列データをAjaxに返す場合
> それをAjaxで参照するとなると、どのようになるのでしょうか。
Ajax では、基本的には「テキストデータ」でしかデータのやりとりは出来ません。
そのため、PHP 側で配列データをテキストデータに変換し、JavaScript側でテキストデータを配列データに戻す、といった処理が必要になります。
元々、その「テキストデータ」フォーマットとしては XML が想定されていたのですが(AjaxのX)、複雑でオーバーヘッドが大きいので、最近はJSONが使われる場合が多いです。
http://gihyo.jp/dev/feature/01/jquery-ajax/0002
PHP側については、PHP 5.2.0 以降なら、json_encode で、配列をJSON形式に変換できます。
http://php.net/manual/ja/function.json-encode.php
jQuery の Ajax ライブラリは、JSON に対応していますので、
$.post の第4引数を"json"にしておけば、
PHP側でJSON形式に変換した配列データを、
JavaScript側の$.post のcallback内では、引数 data がそのまま配列としてアクセス出来るようになります。
jQueryとPHP のJSONによる受け渡し例は、
http://www.rottel.net/kuwa/44111
なんかが参考になるでしょうか。
No.1
- 回答日時:
$.ajax で、引数 async を false にしてリクエストを発行すれば、
関数呼び出し後に、リクエスト結果に基づいた条件分岐は可能です。
http://semooh.jp/jquery/api/ajax/jQuery.ajax/opt …
ただし、リクエストを発行したあと、応答が戻ってくるまで
スクリプト動作が止まってしまうため、操作性の問題からは
あまりオススメできません。
できれば、その処理そのものはそこで終わらせておき、
続きは $.post の callback内に記述すべきでしょう。
---ここから---
$.post("test.php",arg, function(data, status) {
// 通信成功後の処理
if (data == "true") {
PHP出力が「true」だった時の処理
} else {
そうでない時の処理
}
続きの処理
}, "text");
// ここから下には何も書かない。続きは上述のコールバック内に書く
---ここまで---
といった感じで。
この回答への補足
有り難うございます。
仰るとおりコールバックで実現できそうです。
なお、例えばPHPから配列データをAjaxに返す場合
それをAjaxで参照するとなると、どのようになるのでしょうか。
引き続き教えて頂けますと助かります。
宜しくお願い申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- JavaScript プラグイン無しでContactform7にdatepickerを実装 3 2022/10/25 02:18
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- PHP PHPの変わった閉じタグの必要性と意味を教えてください。 1 2022/08/28 15:15
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- PHP 「teratail」での回答内容がいまいちわかりません。 1 2022/09/10 05:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQueryの$.postの戻り値による...
-
googleマップにajax
-
GDとImageMagick どっちがおす...
-
FlashからJavaSprictを操作
-
ソースコードのFTP転送について
-
Stage.showMenu
-
このプログラムの認証ウィンド...
-
イベント処理について
-
思う
-
WindowsXPでVisualC++5.0は可能...
-
スクリプト言語でおすすめのもの
-
このプログラムの使用がわかる...
-
new! を自動で表示、html と F...
-
掲示板の作り方
-
身のこなしの意味は動作ですか?
-
onmouseoverでセキュリティ保護
-
ワードプレスのテンプレートの変更
-
PHPを書籍で勉強しているのですが
-
photoshopスクリプト及びHTM...
-
Dreamweaverのアップロードの設...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ajaxでhtmlを返して画面に描画…...
-
AjaxでDBと連携した動的リスト...
-
CGIカレンダー
-
JavaScriptだけで画像アップロ...
-
カウントダウンを表示
-
【Ajax】改行を含めたデータを...
-
サーブレットから送られてきた...
-
データ受け渡しについて
-
ajaxによるcsvデータの絞り込み...
-
jQueryの$.postの戻り値による...
-
CGI→AJAXへ配列の受け渡しは可...
-
innerHTMLで表示完了後に、Ajax...
-
Textboxについて
-
googleマップにajax
-
大量のデータを表として展開す...
-
Response.Write(変数)
-
python pandas ビックデータ解...
-
カーソルの動きに合わせてDBか...
-
Ajaxで最新の情報が取得できない
-
HTMLでリアルタイムグラフを作...
おすすめ情報