• ベストアンサー

PHP4でのAjax データ出力形式について

こんにちは PHP4.4.9でAjax通信時のデータ出力形式をどうしようか悩んでいます。 やりたい事は、HTMLのSELECTタグの中身を入れ替える事です。 普段は主にjsonでデータのやり取りをしていますが、PHP5.2以降という事でXMLにしようとしたのですが、今時じゃないのかなかなかサンプルが見つからず・・・ PEARやPECLでのライブラリ等の追加は都合上、行えません。 自前でXMLやJsonを作る事はしたくないので、よいサンプル等あればご教示ください。

  • 1minn
  • お礼率84% (49/58)
  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5085/13291)
回答No.1

CSVで返してJavaScriptでパースするか、optionタグのソースを丸ごとテキストで返してしまうとかが簡単でいいのではないでしょうか。 optionタグを返してしまえばselectの子ノードを丸ごと入れ替えるだけなので楽ですよ。

1minn
質問者

お礼

なるほど。 HTMLを先に作っちゃうんですね。 発想から完全に抜けてました。 ありがとうございました。

関連するQ&A

  • AjaxとPHPの連携について

    AjaxからPHPにHTTPリクエストし、PHP側でXMLの処理をさせてAjaxにXMLのデータを返す処理ができません。 PHP側でXMLをAjaxに返す時、どのようなコードで書けばよろしいですか?

  • ajaxにより取得したxmlデータの加工について

    ajax通信でRSSのxmlデータを取得し、一部のタグを抽出してhtml上にリンク一覧を作りたく、以下のような処理をテストで作りました。 $(function() { $.ajax({ url: '取得対象のxmlファイルパス', type: 'GET', success: function(data) { //var json = $.xml2json(data); $(data)find('title').each(function(){ console.log($(this).text()); }); } }); }); コンソールにはすべて空データしか確認できないのですが、取得したdataを変換等する必要がありますでしょうか。

  • ajaxとphpでapiのデータ取得

    上手にお伝えできるか不安ですが、以下の事象の原因で考えられるものがありましたら、アドバイスいただきたいです。 [処理内容] js(ajax)でphpをたたいて、GAのapiに接続、ページビューを取得して その取得内容もとにphpで静的ファイルを生成(jsonやhtml)して、任意の箇所で表示させています。 アクセスランキングのようなものになります。 ---------------------------------------------------- jsでphp呼び出し→phpでGAにアクセス→GA→phpで受け取る→jsonやhtml生成 ---------------------------------------------------- [気になる事象] GAからのデータの取得やjsonの生成は概ねうまくいっているのですが、時にデータが取得できない時があります。 何故かphpファイルを更新する(ソースに改行を加えただけ)と正しいデータが取得できたりします。 そんなことが動作に影響するのかわからないのですが、また1日後とかにデータを取得して表示させようとすると、 phpファイルを更新しない限り前回取得した状態から更新されなくなります。 キャッシュみたいなものが介在するのかわからないのですが、ajaxの部分の記述でcashはfalseとしています。 ちなみにGAの管理画面ではページビューが取れているので、apiとphpの間が怪しいといえば怪しそうな気もしています。 尚、静的ファイル(jsonやhtml)のタイプスタンプの更新は、js(ajax)にアクセスする度に正しく行われている為、 それらのファイルの生成そのものは問題ないと思われます。 拙い説明で恐縮ですが、 どうぞよろしくお願いいたします。

    • 締切済み
    • PHP
  • Jquery,JSON,Ajax,PHP連携

    プログラミング初心者です。 教えてください。 最近Webのトレンドとして使われている言語で Jquery,JSON,Ajax,PHPなどがありますが、それぞれどの部分の処理をしているものなのか、 また、どのように呼び出して連携させるのか、実際のサンプルなど使った図解でわかりやすいものがあったら教えていただけますでしょうか。 よろしくお願いします。

  • jquery PHP 値 ajax

    失礼します。現在jqueryで作成した2次元配列をPHP側に渡したいのですが上手くいきません。 jquery側のコンソールで確認した際にはsuccessの処理が行われ配列の中身がjson形式で表示されるのですが、その内容をPHP側で確認しようとするとNULLが返ってきてしまいます。 何卒ご教授よろしくお願いいたします。 html側 $(function(){ // 送るデータ形式はJSONでなければ、PHP側でエラーが出る.のでJSON.stringify()でJSON形式に変換 send_data= JSON.stringify(data); // 送信処理 $.ajax({ url: "ajax.php", // 送信先のPHP type: "POST", // POSTで送る contentType: "Content-Type: application/json; charset=UTF-8", //必須ではなさそうだが、サーバ側との整合のために明示しておいた方がよい。 // dataType: 'json', //受信形式 必須ではなさそうだがサーバ側との整合のために明示しておいた方がよい。 data:send_data //JSON形式の送信データ }).success(function(data, status, xhr) { // 通信成功時の処理 console.log("success"); console.log("data ="+data); console.log("status ="+status); console.log("xhr ="+xhr); }).error(function(xhr, status, error) { // 通信失敗時の処理 console.log("error"); }).complete(function(xhr, status) { // 通信完了時の処理 console.log("fin"); }); }) }) PHP側 二通り試してみました。 <?php //php://inputはPOSTの生データを取得できる $json = file_get_contents("php://input"); //JSON形式データをPHPの配列型に変換 $data = json_decode($json); var_dump($data) ; //POSTできたデータを格納 $hoge = $_POST['data']; var_dump($hoge);

    • ベストアンサー
    • AJAX
  • Ajaxの質問です。

    Jquery php mysqlを利用したAjaxの質問です。 http://webcake.no003.info/webdesign/jquery-ajax-php-json-sample.html 上記サイトを参考にしています。 データをpostで渡していると思うのですが、 上記サイトですと、 クロスサイトフォージェリ対策はどの様に書いたらよいでしょうか? Jqueryのクロスサイトフォージェリ対策のよい情報がなかなか見つかりません。 PHPのみですと、postで渡すリファラー、トークン照合などあると思うのですが、 Jqueryでリファラーチェック、トークン作成、などはどう書くのでしょうか? 教えてください。

  • ajaxでPHPにPOST送信して結果データを受信しようとしていますがうまくいきません。

    セレクトボックスの値を受け取りPOST送信 <HTML側> function SelValue(){ var x = $('#category1').val(); $.ajax({ type: "POST", url: "category.php", data: {"prm":x}, dataType: "json", success: function(data, status){ alert(data.address1 + data.address2); }, error: function(XMLHttpRequest, status, errorThrown){ alert("エラーが発生しました!"); } }); } 以下category.php if(!$_POST) header("Location: input.php"); $CATEGORY2 = array( 1 =>array( 1 => "a", 2 => "b", 3 => "c", ), 2 => array( 1 => "d", 2 => "e", 3 => "f", ), 3 => array( 1 => "g", 2 => "h", 3 => "i", ), ); $ary = array(); if($_POST["prm"]){ for($i=1;$i<=3;$i++){ foreach($CATEGORY2[$i] as $key => $value){ if($key == $_POST["prm"]) $ary = $CATEGORY2[$i]; } } } json_encode($ary); としています。 PHPにPOSTしたデータも確認できないし jsonデータを表示できないです。 どのようにしたらいいかわかりません。 ajax初心者でわからないことだらけです。 教えてください。

    • ベストアンサー
    • AJAX
  • Ajaxの意味について

    最近、話題になっているAjaxですが、それぞれの言語の役割と意味について教えてください。キーワードはJavaScript,PHP,SQL,XML,JSON,Perl,google mapsなどなど、Ajaxに関連して耳にする言葉をそれぞれ関連させて説明していただきたいです。お願いします。ちなみにキーワードで出したすべてを説明していただかなくてけっこうです。

  • Ajaxの動き

    googleと本で調べたのですが、今いちわからないため質問させてください。 (1)教科書から、Ajaxは、XMLをJavascriptでやり取りしている非同期通信という定義なのはわかりましたが、結局、AJAXを使うということは、HTMLに、<Script>のタグで、JQueryなどのパスを書くということなのでしょうか? AJAXは概念的なものであって、プログラムやモジュールそのものではないと捉えています。 (2)Ajaxによる非同期通信は、何をきっかけとして通信が始まるのでしょうか? 通常は、FORMがSUBMITされたときに、サーバにリクエストがいくという認識ですが そもそも、Ajaxは、何をイベントとしてハンドルしているのでしょうか?(何をきっかけに処理が始まっているのでしょうか?) HTMLに、<Script>のタグで、JQueryのパスを書くと、ハンドルする機能が使用されるのでしょうか? Ajaxでも「リクエスト」は行われているけれども、処理結果として戻されるものがXML形式であるだけだという理解で良いのでしょうか?

    • ベストアンサー
    • AJAX
  • PHP ”XML_unserialize”でXMLを配列に変換したのですが・・・

    XMLファイルを配列としてとってこれる XML_unserializeというライブラリを使用して XMLファイルに含まれるデータをとってPHPで利用することが できたのですが、ここで一つ大きな問題が発生しました。 XML_unserializeをつかうと <XMLTAG>  取り出したいデータ </XMLTAG>      ↓ array(  [XMLTAG] = 取り出したいデータ ) と、たしかに取り出したいデータを配列に変換することができます。 しかし、取り出したいデータの中にタグが含まれていた場合 例えば <XMLTAG>  <div>取り出したいデータ</div> </XMLTAG> とかになっていると <div>もXMLと判断されてしまって 必要なデータがうまくとってこれないのです。 正規表現でエスケープさせるにしても数が膨大ですし、 XMLタグ名に実際にHTMLで使われている タグ名が使われているとも限りません。 どうすれば、 ”XMLの中に入っているHTML等のタグを含むデータ”をうまくとってくることが できるのでしょうか?

    • ベストアンサー
    • PHP