如何将输出从PHP传递给Javascript?

时间:2012-05-30 06:10:04

标签: php javascript parsing

我是php和javascripts的新手。基本上我想将输出从pphp传递给Javascript。

我有一个readStatus.php文件:

<?php
$myLocalFile = "LEDstate.txt";
$f = fopen($myLocalFile, 'rb');
$theData = fread($f, filesize($myLocalFile));
fclose($f);
if($theData == "1")
{
    echo "<img border='0' src='/cmos/images/device_on.png'>"; //image 1
}
else
{
    echo "<img border='0' src='/cmos/images/device_off.png'>"; //image 2
}

&GT;

我想在不同的条件下将2放在我的html页面的同一个地方。

在html页面,我有

<td><script type="text/javascript" src="readStatus.php"></td>

这不起作用。显然我做错了但我无法弄明白。需要帮助,请提前感谢。

6 个答案:

答案 0 :(得分:1)

尝试在隐藏的表单字段中打印您的php输出,然后使用JS从这些字段中读取并获取数据......

答案 1 :(得分:0)

您实际尝试传递给javascript的数据是什么?

最简单的方法是在你的页面中用php编写javascript:

<?php
$myLocalFile = "LEDstate.txt";
$f = fopen($myLocalFile, 'rb');
$theData = fread($f, filesize($myLocalFile));
fclose($f);
if($theData == "1")
{
    echo "<img border='0' src='/cmos/images/device_on.png'>"; //image 1
}
else
{
    echo "<img border='0' src='/cmos/images/device_off.png'>"; //image 2
}
?>

<script type="text/javascript">

jsVar = <?php echo $phpVar; ?>;

</script>

答案 2 :(得分:0)

试试这个:

<?php 
    $myLocalFile = "LEDstate.txt"; 
    $f = fopen($myLocalFile, 'rb'); 
    $theData = fread($f, filesize($myLocalFile)); 
    fclose($f); 
    if($theData == "1") 
    { 
        echo "document.write(\"<img border='0' src='/cmos/images/device_on.png'>\");"; //image 1 
    } 
    else 
    { 
        echo "document.write(\"<img border='0' src='/cmos/images/device_off.png'>\");"; //image 2 
    } 

?>

答案 3 :(得分:0)

不要使用javascript。

将主文件从html更改为php页面并执行以下操作:

<?php
$myLocalFile = "LEDstate.txt";
$f = fopen($myLocalFile, 'rb');
$theData = fread($f, filesize($myLocalFile));
fclose($f);
if($theData == "1")
{
    echo "<img border='0' src='/cmos/images/device_on.png'>"; //image 1
}
else
{
    echo "<img border='0' src='/cmos/images/device_off.png'>"; //image 2
}
?>
</td>

答案 4 :(得分:-1)

这是一个基本的理解问题。您的浏览器从该代码获得的是:

<script type="text/javascript">
<?php
$myLocalFile = "LEDstate.txt";
$f = fopen($myLocalFile, 'rb');
$theData = fread($f, filesize($myLocalFile));
fclose($f);
if($theData == "1")
{
    echo "<img border='0' src='/cmos/images/device_on.png'>"; //image 1
}
else
{
    echo "<img border='0' src='/cmos/images/device_off.png'>"; //image 2
}
?>
</script>

那不是javascript对吗?您试图让浏览器将PHP代码解析为Javascript,这是不可能的。

你应该做的是在里面使用include('readStatus.php')或者只是将php代码粘贴到td中。

使用这两种解决方案中的任何一种,您都必须将HTML的扩展名更改为PHP以使其理解PHP代码,否则它将将其解析为文本

答案 5 :(得分:-1)

<?php
// do whatever you like
if($theData == "1") {
    $image = "<img border='0' src='/cmos/images/device_on.png'>"; //image 1
} else {
    $image = "<img border='0' src='/cmos/images/device_off.png'>"; //image 2
}
?>

然后在html中你这样打电话 -

<script type="text/javascript" src="<?php include('readStatus.php'); echo $image; ?>">