我已经访问了一个数据库并获取了数据(为简单起见,我们仅假设一个数据),该数据是一个数组,并且具有一个字段“ link”(即URL)。
我将$ data ['link']的值传递给php变量$ l1;比较一下,我还将实际网址传递给另一个变量$ l2。
然后,接下来的两行尝试将值传递给javascript变量。如果我删除第一行(回显“ var link1 = \“ $ l1 \”;“;),它将起作用;如果我保留第一行,则不会(警告对话框未显示)。我认为这是URL的问题,但是$ l2的值与$ data ['link']完全相同,接下来的两行在html页面的源代码中也显示相同。
代码在这里:
<script type="text/javascript">
function readData() {
alert('haha1');
<?php
$l1 = $data['link'];
$l2 = "http://upload.wikimedia.org/wikipedia/commons/1/17/Affenpinscher.jpg";
echo "var link1 = \"$l1\";";
echo "var link2 = \"$l2\";";
?>
alert('haha2');
}
</script>
<body onload="readData();"></body>
有人知道为什么会这样吗?感谢您的帮助!
最佳答案
我不确定我是否理解您的疑问。无论如何,出于直觉,我会尝试这样的事情:
<script type="text/javascript">
function readData() {
alert('haha1');
<?php
$l1 = json_encode($data['link']);
$l2 = "http://upload.wikimedia.org/wikipedia/commons/1/17/Affenpinscher.jpg";
echo "var link1 = ".$l1.";";
echo "var link2 = \"$l2\";";
?>
alert('haha2');
}
</script>
<body onload="readData();"></body>
您的URL对于javascript可能“格式错误”;并导致解析错误。
让我们知道是否是这种情况...
关于php - 使用php将mysql数据加载到javascript变量中的奇怪错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8003841/