2016-05-27 10 views
0

私は非常に多くの記事を読んできましたが、どれも私にとってはうまくいかないようです。私は何が間違っているのか分かりません。私はJavaScriptでPHPの整数を呼び出してJavaScript変数に設定したいので、その変数を自分の計算に使うことができます。JavaScriptにPHP整数を渡す

average = '<?php echo $average; ?>'; 
console.log("value" + " " + average); 

これは私が使用していると、それはコンソールに出力するコードです:

value <?php echo $average; ?> 

これは明らかに、私はそれが整数を印刷したかった、たかったではありません。 マイ$平均PHPの整数は、異なるファイルに位置していますので、私が使用:

<?php include 'DBObject.php';?> 

を私はのような計算を行うことができるようにしたい:平均変数ではないので

drone1percentage = 1000/average * 100; 

が、他のファイルからphp整数$ averageを取っても機能しません。

+0

'平均= <?php echo $ average; ?>; ' – Rayon

+0

PHPファイルをjsファイルに入れることはできません – nospor

+1

これはPHPファイルですか、javascriptファイルですか?サーバーはjavascriptファイルをPHPとして解析しないことに注意してください。 – jeroen

答えて

0

はJavaScriptにPHPから情報を取得するための最も信頼性の高い方法jQuerys AJAX機能を使用しています。

だから、

yourPHPFileのようなものを持っている場合。PHP

<?php 
if($_POST['action'] == 'getAverage') { 
    echo returnAverage(); 
    die; 
} 

function returnAverage() { 
    //your average calculation here 

    return $average 
} 

あなたはちょうどあなたがそれを必要なときにトリガされた関数の中にこれを入れ

yourJavaScriptFile.js

var average = null; 

$.ajax({ 
    method: 'POST', 
    url: '/path/to/yourPHPFile.php', 
    data: {action: 'getAverage'}, 
    success: function(response) { 
     average = response; 
    } 
}); 

ような何かを行うことができます。

これを動作させるには、jQueryをインクルードする必要があります。 jQuery.ajax()機能の詳細については、The Documentationを参照してください。

一部のajaxパラメータは、使用するjQueryのバージョンによって異なる場合があります。

+0

私はこれを試して、$ averageのphp値を私のjs変数の平均、私はそれが私たちが上に設定したthatsなので、平均の値がnullであると言っています。 –

+0

@LukeRaynerあなたはajaxを呼び出して、あなたはそれを必要としませんでしたか? 〜のように $(function(){ }); ブロックオンボタンクリックイベント? –

+0

私はちょうど戻り平均値関数を呼び出す理由は何もないので、私は平均$の戻り値です –

0

あなたのjsファイルは、PHPコードを解析するために、例えばexample.js.phpのように.phpで終わる必要があります。あなたは.jsファイルにPHPコードを置くことはできませんが、あなたはあなたがPHPのコードとして、すべての.jsファイルを解析するためのセットアップWebサーバも

を可能性があり、PHPからJSファイルを作成することができます

が、それは次のようになりますおそらくあまりにも多すぎる。

1

これを.htaccessに追加すると、PHPはjsファイルも解釈します。

<FilesMatch "\.(js)$"> 
AddHandler application/x-httpd-php .js 
</FilesMatch> 

か、そのファイルの前でこのヘッダーを.PHPして追加する.jsファイル名前を変更します。

header('Content-Type: application/javascript'); 
0

これを試してみてください:

average = parseInt('<?php echo $average; ?>');

+0

私はそれを試してみました:( –

1

PHPを実行 "することはできません" javascriptファイルの中にあります。

しかし、PHPからあなたの変数に到達するいくつかのトリックがあります。

そのうちの1人がphpでjavascript変数を作成し、この変数をjavascriptファイル内で使用しています。

例:

// Inside your php file 

<script> 

    var average = <?php echo $average; ?> 

</script> 

<script src="yourjavascriptfile.js"></script> 

// Inside your javascript file 

console.log(average); 
+0

PHPファイルを呼び出すために私の質問で使用したコードを使用しますか? htmlファイルで

  • 11. Javascript +ページにAJAX関数をロードする+ PHPにJavaScriptを渡す
  • 12. 整数をSegueに渡す
  • 13. select_tagに整数を渡す
  • 14. JavaScript値をPHPに渡す
  • 15. PHP変数をJavascript関数に渡す関数
  • 16. PHP関数内のJavaScript配列にPHP配列を渡す
  • 17. ボタンをクリックするとjavascript関数にPHP変数を渡す
  • 18. PHPセッション変数をJavascript/jQuery関数に渡すには?
  • 19. AJAX JavaScript関数にPHP変数を動的に渡す
  • 20. CUDAカーネルに定数整数を渡す
  • 21. ループからphp変数をjavascript変数に渡す方法
  • 22. ボタンクリックでPHP文字列変数をJavascript関数に渡す
  • 23. ボタンからPHP変数をJavascript関数に渡す
  • 24. JavaScript変数をPHPに渡すセッション変数
  • 25. Javascript変数をPHPに安全に渡す(AJAXを使用)
  • 26. JavascriptからPHPに変数を渡すには?
  • 27. javascriptからphp関数にパラメータを渡すには
  • 28. コントローラからjavascriptにphp変数をビューの先頭に渡す
  • 29. javascriptとPHP変数の受け渡し
  • 30. PHP変数をJavaScriptに渡して警告を表示する