
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現で、特定の文字列を含...
-
バッチファイル 特定ウインドウ...
-
bxsliderで複数のvimeoスライド...
-
これってなんの電話かわかりま...
-
PDFを(htmlのように)無限に縦...
-
データ受け渡しについて
-
php コールバック関数
-
入力フォームの値をQRコードで...
-
日本語版アンサイクロペディア...
-
ダブルクリックと2回クリックの...
-
同一ページ移動時ハンバーガー...
-
bxSliderで動画をスライドごと...
-
ナイトボットのAliasについて
-
VBAでクイズゲームの作り方
-
以下のURL入れますか?皆さんは↓
-
画像のドットの部分が抜けてい...
-
Chinapost こよパズルどう動か...
-
非同期通信で掲示板を作る際の...
-
非同期通信を使うタイミングが...
-
PYTHONのtkinterについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ajaxでhtmlを返して画面に描画…...
-
【Ajax】改行を含めたデータを...
-
getJSONで受け取れるよう出力す...
-
大量のデータを表として展開す...
-
HTMLでリアルタイムグラフを作...
-
jQueryの$.postの戻り値による...
-
JavaScriptだけで画像アップロ...
-
IE、Ajaxのキャッシュで悩んでます
-
CGI→AJAXへ配列の受け渡しは可...
-
innerHTMLで表示完了後に、Ajax...
-
サーブレットから送られてきた...
-
データ受け渡しについて
-
Ajaxで最新の情報が取得できない
-
googleマップにajax
-
ajaxによるcsvデータの絞り込み...
-
Ajax.requestでphpファイルを習...
-
チャットを作る
-
Response.Write(変数)
-
JavaScript側でのXML作成の方法
-
ローカルネットワーク内での502...
おすすめ情報