我一直在阅读这么多帖子,但似乎没有一个帖子适合我,我不知道我做错了什么。我想在JavaScript中调用PHP整数并将其设置为JavaScript变量,这样我就可以在计算中使用该变量。
average = '<?php echo $average; ?>';
console.log("value" + " " + average);
这是我一直使用的代码,它打印到控制台:
value <?php echo $average; ?>
这显然不是我想要的结果,我希望它能打印整数。 我的$ average PHP整数也位于不同的文件中,因此我使用了:
<?php include 'DBObject.php';?>
我希望能够进行如下计算:
drone1percentage = 1000 / average * 100;
但由于平均变量没有从我的其他文件中获取php整数$ average,所以它不起作用。
答案 0 :(得分:1)
您可以将此添加到.htaccess中,因此PHP也会解释js文件。
<FilesMatch "\.(js)$">
AddHandler application/x-httpd-php .js
</FilesMatch>
或者将.js重命名为.php并在文件前面添加此标题:
header('Content-Type: application/javascript');
答案 1 :(得分:1)
你“无法”在javascript文件中执行php。
然而,从php获取变量有一些技巧。
其中一个是用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);
答案 2 :(得分:1)
使用jQuery.ajax - http://api.jquery.com/jquery.ajax/
var average;
$(function(){
$.get("path/to/script", function(data, status){
average = data;
});
});
答案 3 :(得分:0)
你的js文件必须以.php结尾,例如*:focus, *:visited, *:active, *:hover { outline:0 !important;}
*::-moz-focus-inner {border:0;}
才能解析php代码。
虽然你不能把php代码放到.js文件中,你可以从php创建一个js文件
您还可以设置Web服务器以将所有.js文件解析为php代码,但这可能有点太多了。
答案 4 :(得分:0)
试试这个:
average = parseInt('<?php echo $average; ?>');
答案 5 :(得分:0)
对我来说,从PHP获取信息到javaScript的最可靠方法是使用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。
请注意,根据您使用的jQuery版本,某些ajax参数可能会有所不同。