2016-04-04 3 views
-2

json_encodeとajaxを使用して、PHPで配列をJavascriptに渡していました。唯一の方法は、エコーのためにページ上に$ varの情報も表示する、唯一の方法が使用されているようです。0120出力を隠す簡単な方法はありますか?私のコードは配列をmain.phpのプリントアウト実行以下の、echo json_encodeの出力を非表示にする

main.php

<?php 
include_once('testing.php'); 
?> 
<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
     <script type="text/javascript" src="testing.js"></script> 
</body> 
<html> 

testing.php

<?php 
$var=array('1','2','3','4','5'); 
echo json_encode($var); 
?>  

testing.js

$.ajax({ 
     url : './testing.php', 
     type : "GET", 
     dataType : 'json', 
     success : function (result) { 
      showstaff(result); 
     } 
    }); 

function showstaff(x){ 
    console.log(x); 
} 

(のようでしたページ上に '1'、 '2'、 '3'、 '4'、 '5')を表示し、コンソールに配列を表示するが、私が必要とするのは、ページからの結果)。

+1

' – adeneo

+0

@adeneo彼はAJAXを使っていると言います。彼がPHPでJavascriptを生成しているのであれば – Barmar

+0

"$ varの情報も表示する"という意味は? JSONエンコーディング以外は印刷しないでください。 – Barmar

答えて

0

include_once('testing.php')main.phpには必要ありません。 main.phpがブラウザに送信されると、testing.jsがロードされ、AJAX呼び出しによってtesting.phpが実行されます。

+0

ありがとうございました。私は実際にHTMLでinclude_once関数を使用して、htmlデザイン用のPHPを使用しました。私はコンソールの結果とページのプリントアウトの両方を得ました。 – uPhone

+0

'main.php'で' echo json_encode() 'を使うのは意味がありません。 JSONはAJAXへの応答に使用され、通常のHTMLページには属しません。 – Barmar

+0

最新の編集内容に基づいて回答を更新しました。 – Barmar

0

あなたはこれを試すことができます。

<script type="text/javascript"> 
    var object = <?php echo json_encode($var); ?>; 
</script> 

は、それが助けに感謝を願っています!

+0

ありがとうございます。実際にecho json_ecnode($ var)部分は.phpファイルで書かれていましたが、私はphp変数$ varを別の.jsファイルでajaxを使って呼び出そうとしました。あなたのスクリプトがどこに収まるかは、私には明らかではありません。 – uPhone