2010-11-27 24 views
1

JavaScriptを含むHTMLページに、vertexavertexbedge_idの3つのデータ配列を送信して、頂点にアルゴリズムDijkstraを実行します。このためにJSONコマンドを使うべきですか?PHPからJavaScriptへのデータの配列を送信する

+0

php関数json_encodeを見てください。多次元の連想配列を渡すことができます。 – Zevan

答えて

4

あなたは

<?php 
$arr=array('cow'=>'black','feet'=>4); 
$encoded=json_encode($arr); 

エンコード$はJavaScriptがで作業することができた、今{"cow":"black","feet":4}であるように、データのjson_encodeを使用したいと思います。

header('Content-Type: application/json'); 
echo $encoded; 

headerがあなたの前のページに何も出力を発生することがあるん]ページにこれを送信するには、さえスペースまたは空白行、またはPHPはエラーになります。

データをPHP配列として生成した後、初期ページの読み込み時にJSに出力するために、次のように出力することができます。この場合特別なヘッダーを出力する必要はありません。それはあなたの普通のtext/html文書の一部です。ヘッダーはAjaxの戻り値です。

<?php 
$json_data=json_encode($your_array); 
?> 
<script> 
    var an_obj=<?php echo $json_data;?>; 
</script> 
+0

を参照してください.JavaScriptファイルの関連するコードは? –

+0

@ user522003これは少し複雑ですが、このデータを動的に取得するためにajaxを使用していますか、この変数をページに出力して始めますか? – JAL

+0

... javascriptを介してページに変数を出力しています....また、Ajaxを使用してデータを動的に取得しています! –

1

データの場合はdatatype:"json"、アヤックスコールのデータタイプの場合はdatatype:"script"を使用してください。

サーバー側では、それぞれコンテンツタイプをapplication/jsonapplication/javascriptに設定します。

+0

application/jsonとapplication/javascriptの違いは何ですか? –

+0

私は、edge_id []という名前のPHPで配列を持っています。では、クライアントに送信するデータ型、つまりJavaScript側をどのように定義する必要がありますか。 –

+1

@ user522003のMIMEタイプについては、http://stackoverflow.com/questions/477816/the-right-json-content-type – JAL

関連する問題