• ベストアンサー

PHPからJavaScriptへJSONでデータを送る方法

yuuki0229の回答

  • yuuki0229
  • ベストアンサー率70% (33/47)
回答No.2

一番手っ取り早いのは<script>タグ内でjson_encodeを使ってJavascriptのソースコードを動的に作ることです。 <?php $phpVar = array("a", "b", "c"); ?> <script type="text/javascript"> var jsVar = <?php echo json_encode($phpVar); ?>; </script> AjaxであればNo.1さんの回答の方法が一般的だと思います。

関連するQ&A

  • php5.16でjsonを使うには?

    http://www.dezinerfolio.com/dfgallery-2/free-flash-gallery こちらのFlashギャラリーを使用したくて苦戦しています。 サイトではphp5+と説明されているのですが、json関数を使用できないとうまくデータのやり取りができないようです。 なんとかphp5.16の環境でjsonを使えるように試しているのですが、 http://www123.ddo.jp/extwiki/?2.0%2Fjson_encode%E9%96%A2%E6%95%B0 という、json encodeを試してみてもだめでした。 これはphp4.xでjsonを使用する為のものみたいです。 php5.16でjson encodeを使用できるようなうまい方法はないでしょうか? よろしくお願い致します。

    • 締切済み
    • PHP
  • javascriptでJSONデータの生成方法

    現在PerlのフレームワークであるMojoliciousとJavascriptのjQueryを使ってAjaxを利用したアプリケーションを作ろうとしているのですが、クライアント側で、サーバに送信するためのJSON形式のデータがうまく作れません。 例えば、ブラウザ上の表のセルをダブルクリックしたときにそのデータを書き換えられるようにし、その更新データをJSONでサーバ側に送りたいのですが、 <table> <tr><th>name</th><th>email</th></tr> <tr><td class="name">山田</td><td class="email">yamada**@gmail.com</td></tr> </table> とある表のセルの山田のアドレスをyamada**@gmail.com -> yamada**@yahoo.co.jpと変更した場合、javascript(jQuery)で次のようなJSONデータを作りたいです。 { "email" : "yamada**@yahoo.co.jp"} 左側のemailは動的にセルのclass属性から取得したいのですが、方法が分かりません。 実際にはemail以外にも多数の列がありますので、なるべく動的にclass属性を取得したいのですが、良いJSONの生成方法やJSONを用いた他のデータ構造があれば教えていただきたいです。

  • JSON変換データをjavascriptへ渡したい

    json_encode()関数で、JSON形式の文字列に変換した配列データをjavascriptへ渡したいのですが、 いつのまにか、ただんの文字列になってしまいます。なんででしょうか? ■コード $jsondata= json_encode($originalarray) <script type="text/javascript"> var result = <?php echo($jsondata) ?>; alert(result); </script> ■変数 ・$originalarray Array ( [0] => ./im/1a.j [1] => ./im/2.j [2] => ./im/9_1.j ) ・jsondata [".\/im\/1a.j",".\/im\/2.j",".\/im\/9_1.jp"] ・result ./im/1a.j./im/2.j./im/9_1.jp

    • ベストアンサー
    • PHP
  • javascriptでJSONを取得する方法

    C#、asp.netでJson形式の文字列をjavascriptに渡してgooglemapで使用したいです。 json.netやらDynamicJson やらがインストールされていないと使用できないのでしょうか。 aspx.cs dynamic dataSet = 取得したlist; System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); serializer.Serialize(dataSet); javascript function json() { $.ajax({ url: ××.aspx.cs, type: "get", dataType: 'json', error: function () { alert("情報の読み込みに失敗しました"); }, success: function (data) {        alert("data"); } }); } こちらでは、情報の読み込みに失敗しましたとアラートが出てしまいます。 http://qiita.com/rbtnn/items/b2ec6c7dee792e66ac75 http://aspnet.keicode.com/basic/jquery-ajax-basics.php この2つのサイトを参考にしています。 dataSetの中身に目的のリストが取得できているのは確認済みです。 何がいけないのでしょうか。 どうやったらJSONをjavascriptで読み込めるのでしょうか。 どなたかよろしくお願いします。

  • PHPからJSONデータの取得は可能でしょうか?

    PHPからJSONデータの取得は可能でしょうか? Javascriptを用いて、JSON形式で占いデータを提供しているWebAPIからデータを取得するスクリプトを作成しました。携帯電話からの利用を想定しています。エミュレータによるパソコンでの動作確認は問題なかったのですが、実際に携帯電話からデータを取得しようとすると上手くいきません。 携帯電話からのアクセスは受け付けてくれないのかもしれないと思い、PHP等の利用が出来るレンタルサーバを借り、一旦そこを中継する事でデータの取得が出来ないかと考えています。(添付の画像に大体のイメージを描いてみました。) 携帯電話から、「○月○日の占いのデータを下さい。」というリクエストを(中継用の)サーバに投げます。(中継用の)サーバは、受け取ったリクエストに応じてWebAPIから占いのデータを取得します。そして取得したデータを携帯電話の方に返せば良いのではないかと思うのですが、このような事は可能なのでしょうか? ヒント程度で構わないので、アドバイスを頂けないでしょうか?よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpにてjsonの利用ができなくなりました

    phpにてjsonの利用ができなくなりました yum phpインストール後 peclにてjsonをインストールし動いておりました。 ある時点よりPHPのjsonのエラーが出るようになり、プログラムが動かなくなりました。 解決方法わかる方いらっしゃいましたら、ご教授お願い致します。 エラー: PHP Fatal error: Call to undefined function json_encode() やってみたこと:  yum php やphp-devel、pecl でjsonを入れなおしたり、  php.ini php.d/json.ini を記述してみたり、  jsonのtar.gzを落としてコンパイルしておいてみたり  としたのですが、動きません. その他状況: ・php -m にてjsonが表示されますが ・phpinfo()ではjsonの項目が表示されません 怪しい点: 利用できなくなった前後で yum update で全てのアップデートを行っています。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • 【PHP,JavaScript】文字が誤変換される

    以下は、プログラムの一部でJavaScriptからPHPにJSONデータを送信する処理です。 引数を渡すJavaScript側(Extjsライブラリを利用)のプログラム // Ajaxリクエスト処理 Ext.Ajax.request({ url: "php/updatedata.php", success: handleSuccess, failure: handleFailure, params: { data: Ext.util.JSON.encode(data) } // パラメータをJSON形式にして送信 }); 配列dataの中身は「data[0] = 3,data[1] = パソコン」となっています。 Ext.util.JSON.encode(data)により配列dataをJSONに変換して 受信するPHP側のプログラム:updatedata.php JavaScriptで渡したJSONを$_REQUEST['data']で受信して中身を見ると以下のようになっています。 if (isset($_REQUEST['data'])) { $tmp = $_REQUEST['data']; 【受信したJSONデータの中身】 [{"id":"3","name":"繝代た繧ウ繝ウ"}] 「パソコン」という文字列が「繝代た繧ウ繝ウ」という文字列に変換されてしまっています。 Extjs側の「Ext.util.JSON.encode」が悪いのでしょうか、それともPHP側の「$_REQUEST」が悪いのでしょうか。はたまた何か別の原因があるのでしょうか。 ちなみに、環境は以下のようになっています。 WindowsXP,Windows7(両方とも同じ結果になってしまいました。) PHP5.3.1 Ext3.3.0 以上、よろしくお願い致します。

  • JavaScriptでPHP実行する方法

    質問させて頂きます。 現在、JavaScriptを用いて、DB内に登録されている画像を読み込み(複数の中から1つ)表示させたいと考えています。 JavaScriptを用いて画像を読み込み表示させるといった実装を行ったことが無いので、一般的に行われてる方法を教えて頂けないでしょうか。 私の考えている方法としては、 HTMLファイル上のJavaScriptでajaxというものを用いてPHPを実行させ、PHP上でDBの中から画像情報をランダムでひとつ読み込み、その情報をHTMLにjsonで返して表示させるという方法を使用するべきなのかと考えています。 ですが、ajaxという方法を使用したことが無いため、この方法が正しいのか、他に良い方法があるのではないかと不安になり質問させて頂きました。 もし何か良い方法をご存知の方がいらっしゃいましたら、ご教授お願いいたします。 また、質問に不備な点などあるかもしれませんので、その際はご指摘下さい。 よろしくお願いいたします。

  • php-json

    php-jsonをwindows環境でインストールしたいのですが調べてもunixの方法しかなくわかりません。 一応ダウンロードはして解凍まではしたのですが、これだけではだめですよね?

    • ベストアンサー
    • PHP
  • javascriptでdata.txtのJSONデータを変数に取得する

    javascriptでdata.txtのJSONデータを変数に取得するかんたんなサンプルコードはどのようになるのでしょうか。 JSONデータは以下と同じです。 http://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter03/006/index.html {"item":[ {"itemCode":91, "itemName":"塩ラーメン", "itemPrice":300}, {"itemCode":94, "itemName":"味噌ラーメン", "itemPrice":290}, {"itemCode":95, "itemName":"豚骨ラーメン", "itemPrice":320} ] }