2017-12-17 8 views
0

私は外部のjavascriptファイルに配列を渡す必要があるphpファイルを持っています。私はAJAXを使ってそれをしようとしています。なぜなら、そうする正しい方法のように思われるからです。 echo json_encode($exif)を実行しようとしていて、jsで取得しますが、jsonは現在のページに表示されます。私がやっていることを達成するにはどうしたらいいですか?AJAXを使って外部のjavascriptファイルにPHP配列を渡す

私はこの回答の最初の解決策をしようとしていますHow to pass variables and data from PHP to JavaScript?しかし、私は私のページに表示されないようにPHPの部分を統合する方法が表示されません。

ここはPHPコードです。私は自分の見解を構築しながら配列を渡す必要があります。したがって、エコーを行うと、アレイ全体がページに表示されます。

public function makeImagePage($image) 
{ 
    ... 
     $this->parts["content"] .= "<p><u>Localisation:</u> </p>"; 
     $this->parts["content"] .= '<div id ="map"></div>'; 
     echo json_encode($exif); 
     $this->parts["content"] .= '<script type="text/javascript" src="js/map.js"></script>'; 
    ... 
} 
+0

ページに表示されたくないページには何が表示されますか?より多くのコード、何が間違っているのか、あなたが期待しているものの例を提供してください。 – IncredibleHat

+0

@IncredibleHat PHPコードを追加しました。私の問題を理解するのに役立ちたいと思っています。どうやって私の配列を渡さなければならないのか分かりません。 – pioupiou1211

+0

ああ、私は参照してください。 js varの代入のために 'script'タグの中に入れてください。空の 'script'タグで、' src = 'のものではありません。 – IncredibleHat

答えて

0

この変更:これはあなたのmap.jsがあることを利用していると仮定している

$this->parts["content"] .= "<p><u>Localisation:</u> </p>"; 
    $this->parts["content"] .= '<div id ="map"></div>'; 
    $this->parts["content"] .= '<script>var my_var = '. json_encode($exif) .';</script>'; 
    $this->parts["content"] .= '<script type="text/javascript" src="js/map.js"></script>'; 

:これに

$this->parts["content"] .= "<p><u>Localisation:</u> </p>"; 
    $this->parts["content"] .= '<div id ="map"></div>'; 
    echo json_encode($exif); 
    $this->parts["content"] .= '<script type="text/javascript" src="js/map.js"></script>'; 

、あなたが使用するには、JavaScriptの領域にデータを入れますが変数をどこにでも持ち、正しいjs変数名を設定し、それに応じてmap.jsコードを調整する必要があります。

これは、jsが使用するためにPHPデータを取得するための第一歩です。

関連する問題