我访问了一个数据库并获取了数据(为了简单起见,我们假设只有一个数据),该数据是一个数组,并且有一个字段“link”,即一个 url。
我将 $data['link'] 的值传递给 php 变量 $l1;为了进行比较,我还将实际 url 传递给另一个变量 $l2。
然后接下来的两行尝试将值传递给 JavaScript 变量。如果我删除第一行(echo "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>
对于 JavaScript,您的 URL 可能“格式错误”;并导致解析错误。 让我们知道情况是否如此...
关于php - 使用 php 将 mysql 数据加载到 javascript 变量时出现奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8003841/