将 php 变量传递给 jquery 脚本不起作用
Pass php variable to jquery script is not working
我有以下 jquery 脚本:
<script>
$(document).ready(function () {
$(".clickable").click(function () {
$(this).animate({left: '1030px'}, function () {
$(this).fadeOut("slow", function () {
document.location.href = $(this).get(0).id + ".php";
});
});
});
});
$(document).ready(function () {
$("#Chi").animate({left: '0'}, {duration: 200, queue: false});
$("#Dove").animate({left: '0'}, {duration: 400, queue: false});
$("#Quando").animate({left: '0'}, {duration: 600, queue: false});
$("#Cosa").animate({left: '0'}, {duration: 800, queue: false});
var phpvariable=<? echo $row; ?>
$('.dreams-photo-profile-mydream').css({"background": "url(\"/images/user.png\")"});
$('.dreams-photo-profile-mydream').css({"background-repeat": "no-repeat"});
$('.dreams-photo-profile-mydream').css({"background-position": "center"});
$('.dreams-photo-profile-mydream').css({"background-size": "contain"});
});
</script>
我正在尝试像这样传递一个 php 变量:
<?php
$gdb->connettiDB();
$row = $gdb->getFotoProfilo(getId());
?>
var phpvariable=<? echo $row; ?>
那是行不通的。当我在脚本中声明一个 var 时,一切似乎都被阻止了,我的动画不工作,我不知道为什么。谁能解释一下我该怎么做?
错误使用php:-
var phpvariable=<? echo $row; ?>
应该是
var your_variable='<?php echo $row; ?>';
您需要确保包含您上面发布的 <script>
的 html 在同一个文件中。 $row
变量需要在<script>
之前定义。
您还缺少 javascript 行末尾的 ;
var phpvariable=<? echo $row; ?>;
如果$row
是字符串,还需要使用"
:
var phpvariable="<? echo $row; ?>";
将变量从 php 传递到 javascript 的正确方法是使用 json_encode
:
var phpvariable=<?php echo json_encode($row); ?>;
现在 php 不会意外破坏您的 javascript,无论 $row
的变量类型如何。顾名思义,类似于数组...
如果 $row
是一个整数,问题也可能是由于 php 中缺少短标签设置引起的。这就是我在示例中使用 <?php
的原因。
最后,javascript 中的变量声明后缺少 ;
也可能导致问题,但这取决于它后面的内容。
我有以下 jquery 脚本:
<script>
$(document).ready(function () {
$(".clickable").click(function () {
$(this).animate({left: '1030px'}, function () {
$(this).fadeOut("slow", function () {
document.location.href = $(this).get(0).id + ".php";
});
});
});
});
$(document).ready(function () {
$("#Chi").animate({left: '0'}, {duration: 200, queue: false});
$("#Dove").animate({left: '0'}, {duration: 400, queue: false});
$("#Quando").animate({left: '0'}, {duration: 600, queue: false});
$("#Cosa").animate({left: '0'}, {duration: 800, queue: false});
var phpvariable=<? echo $row; ?>
$('.dreams-photo-profile-mydream').css({"background": "url(\"/images/user.png\")"});
$('.dreams-photo-profile-mydream').css({"background-repeat": "no-repeat"});
$('.dreams-photo-profile-mydream').css({"background-position": "center"});
$('.dreams-photo-profile-mydream').css({"background-size": "contain"});
});
</script>
我正在尝试像这样传递一个 php 变量:
<?php
$gdb->connettiDB();
$row = $gdb->getFotoProfilo(getId());
?>
var phpvariable=<? echo $row; ?>
那是行不通的。当我在脚本中声明一个 var 时,一切似乎都被阻止了,我的动画不工作,我不知道为什么。谁能解释一下我该怎么做?
错误使用php:-
var phpvariable=<? echo $row; ?>
应该是
var your_variable='<?php echo $row; ?>';
您需要确保包含您上面发布的 <script>
的 html 在同一个文件中。 $row
变量需要在<script>
之前定义。
您还缺少 javascript 行末尾的 ;
var phpvariable=<? echo $row; ?>;
如果$row
是字符串,还需要使用"
:
var phpvariable="<? echo $row; ?>";
将变量从 php 传递到 javascript 的正确方法是使用 json_encode
:
var phpvariable=<?php echo json_encode($row); ?>;
现在 php 不会意外破坏您的 javascript,无论 $row
的变量类型如何。顾名思义,类似于数组...
如果 $row
是一个整数,问题也可能是由于 php 中缺少短标签设置引起的。这就是我在示例中使用 <?php
的原因。
最后,javascript 中的变量声明后缺少 ;
也可能导致问题,但这取决于它后面的内容。