【アクセス】に関する知恵袋
【質問】
【500枚】javascriptとphpのJSON通信について【やりたいこと】javascriptからphpを呼び出して、phpからJSON形式のデータを返却し、htmlに結果を表示する【質問】下記のように、getJSONにてデータを取得していますが、通信成功時のfunction処理が実行されないようで、htmlに取得結果を表示できません。firebugで確認すると、phpを呼び出して、機械系技術者派遣を見てみると、レスポンスデータを取得する所までは出来ているようです。アクセスの知恵袋をいうと、どこがいけないのか判る方、アクセスの知恵袋には、よろしくお願い致します。ちなみに、機械系技術者派遣の解説をすると、以下のようなtest.jsonファイルを作成し、phpのurlの部分をこのファイルに変更すると表示されるようです。test.jsonの内容:{"a":"hello"}【javascript】<script type="text/javascript">$(function() { // ボタン・クリック時の挙動を定義 $('#btn').click(function() { // JSONデータをHTTP GETで取得 $.getJSON( 'http://localhost/study/test.php?callback?', // アクセス先のURL function(data) { getdata = data.a; $('#result').html( getdata ); // 取得したデータから値を取得&ページに反映 } ); });});</script>【php】<?php header('Content-type: application/json; charset=UTF-8'); $hTest = array('a' => 'hello'); echo json_encode($hTest);?>【firebugの通信結果】レスポンスヘッダConnection Keep-AliveContent-Length 15Content-Type application/json; charset=UTF-8Date Sat, 21 Jan 2012 07:16:29 GMTKeep-Alive timeout=5, max=100Server Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1X-Powered-By PHP/5.3.8リクエストヘッダAccept application/json, text/javascript, */*; q=0.01Accept-Charset Shift_JIS,utf-8;q=0.7,*;q=0.7Accept-Encoding gzip, deflateAccept-Language ja,en-us;q=0.7,en;q=0.3Connection keep-aliveHost localhostOrigin nullUser-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1キャッシュのレスポンスヘッダConnection Keep-AliveContent-Length 15Content-Type application/json; charset=UTF-8Date Sat, 21 Jan 2012 07:16:29 GMTKeep-Alive timeout=5, max=100Server Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1X-Powered-By PHP/5.3.
【解答】
機械系技術者派遣を解説します。まず、機械系技術者派遣とは、アクセスの知恵袋を解説します。まず、javascript <--> php・アクセス先URLの変更・<div id="result"> <input id="btn">の追加・最後の ?> を削除この部分を修正し、以下の環境で『hello』の取得と<div>への挿入を確認しました。Ubuntu Natty NarwhalApache 2.2.17 PHP 5.3.5-1Firefox 9.0.1問題の再現ができないので、ご報告まで。アクセスの知恵袋を説明すると、--jQuery v1.7?> はjsonを出力しているphpこれがあると余計なものが出力される事あり。