次のようにjqueryを使用して、ajax経由でphpスクリプトからテキストを受け取ります。
$.ajax({
dataType: 'json',
url: 'someURL.com',
success:function(result){
json = JSON.parse(result.rgraph);
})
result.rgraph は次のように php で送信されます。
$arr = array( 'actiondata'=> 'some info here', 'rgraph' => $this->_rgraph() );
$jsonTable = json_encode($arr);
return $jsonTable;
$this->_rgraph() は以下を返す単なる関数です:
return '{ id: "0_0", name: "Category", children: [{ id: "0_1", name: "Business services", data: { relationship: "" },children: [{ id: "0_2" 、名前: "H-FARM Ventures"、データ: {関係: "" }、子供: [] }]}、{ id: "0_3"、名前: "原因"、データ: {関係: "" }、子供: [{ id: "0_4", name: "StartupVisa", data: { relationship: "" }, children: [] }]},{ id: "0_5", name: "Community", data: { relationship: "" },children: [{ id: "0_6", name: "さまざまなソリューション", data: { relationship: "" }, children: [] }]},{ id: "0_7", name: "ニュース/ media website", data: { relationship: "" },children: [{ id: "0_8", name: "iSpazio", data:{関係: "" }, 子供: [] }]},{ id: "0_9", 名前: "非営利団体", データ: {関係: "" },子供: [{ id: "0_10", name: "Indigeni Digitali", data: { relationship: "" }, children: [] }]},{ id: "0_11", name: "Website", data: { relationship: "" },children: [{ id: "0_12", name: "ホット ピン ベネズエラ", data: { relationship: "" }, children: [] },{ id: "0_13", name: "El Chiguire Bipolar", data: { relationship: " " }、子: [] }]}]、データ: {関係: "何らかのテキスト" }}';{ 関係: "" }, 子: [] }]},{ id: "0_11", 名前: "ウェブサイト", データ: { 関係: "" },子: [{ id: "0_12", 名前: "ホット ピン ベネズエラ"、データ: {関係: "" }、子供: [] }、{ id: "0_13"、名前: "エル シギレ バイポーラ"、データ: {関係: "" }、子供: [] }] }]、データ: {関係:「何らかのテキスト」}}';{ 関係: "" }, 子: [] }]},{ id: "0_11", 名前: "ウェブサイト", データ: { 関係: "" },子: [{ id: "0_12", 名前: "ホット ピン ベネズエラ"、データ: {関係: "" }、子供: [] }、{ id: "0_13"、名前: "エル シギレ バイポーラ"、データ: {関係: "" }、子供: [] }] }]、データ: {関係:「何らかのテキスト」}}';
次に、この var (json) をチャート エンジンで使用します。_rhraph() によって返された文字列を、動作する JavaScript でハードコーディングされた ajax にコピーすると、文字列がオブジェクトとして取得され、chard が描画されます。しかし、スクリプトに php スクリプトから変数を取得させると、この変数はjson = JSON.parse(result.rgraph);のテキストとして到着すると思われます。json でアラートを実行すると、Object オブジェクトではなくコンテンツが表示されるためです。したがって、この時点でコードを次のように変更しました。json = JSON.parse(result.rgraph);
しかし、これによりエラーが発生します: Uncaught SyntaxError: Unexpected token i。何が起こっているのかわかりません。json var が正しくフォーマットされていないようですが、なぜ var をハードコーディングすると動作するのでしょうか? 何か案は?