例如,我在PHP的服务器端声明了一些变量,如test
echo('var test = ' . json_encode($abc));
现在我想在Jquery中使用这个测试变量..我可以使用它吗?
我需要使用什么功能?
例如我有:
我有这样的后端PHP代码
$abc = no
echo "var test= ".json_encode($abc);
我希望jquery执行以下操作(客户端)
$(document).ready(function(){
function(json) {
if($abc == no )//this i what i want to be achieved
}
}
答案 0 :(得分:1)
我认为,您不了解前端(JavaScript)和后端(PHP)之间的差异。你不能直接从javascript访问php变量。您需要向某些php文件发出Ajax请求,这将返回您指定格式所需的一些数据。 例如:
<?php
$result = array('abc' => 'no');
echo json_encode($result);
?>
这是名为data.php的服务器端脚本。在Javascript中你可以这样做:
$(document).ready(function(){
$.getJSON('data.php', function (data) {
if(data.abc === 'no') {
your code...
}
});
}
答案 1 :(得分:0)
您正在比较错误的变量:
<?php
echo <<<JS
<script type="text/javascript">
var test = {json_encode($abc)};
$(document).ready(function(){
if(test == 'no' )
// here you go
}
});
</script>
JS;
答案 2 :(得分:0)
如果你真的想(虽然我不认为这是一个非常好的做法),你可以将PHP变量的值回显到这样的javascript变量中:
<script type="text/javascript">
var phpValue = <?php echo $abc; ?>;
alert(phpValue);
</script>
在很多情况下,我可以看到这很危险,但这实际上是将$abc
的值反映到页面上(当然是在脚本标记内部)。然后,当浏览器运行javascript时,浏览器会看到它:
<script type="text/javascript">
var phpValue = no;
alert(phpValue);
</script>
这是非常基本的,但是你可以通过使用那种代码了解你可以做些什么。