我得到了我的php页面,这是一个来自mysql的fetchong数组我希望用json_encode将该数组移动到javascript这里是我的php页面
echo "<script type='text/javascript' src='javascript1.js'></script>";
$result = mysqli_query($con,"SELECT l_longitude,l_latitude FROM register_complain");
echo "<table border='1'>
<tr>
<th>Latitude</th>
<th>Longitude</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['l_longitude'] . "</td>";
echo "<td>
" . $row['l_latitude'] . "</td>";
echo "</tr>";
echo $ab = $row['l_latitude'];
echo $ab2 = $row['l_longitude'];
echo json_encode( $ab );
echo "</table>";
header('Location:http://localhost/cca/View_Map.html');
mysqli_close($con);
我的外部javascript1.js是
var db_array = <?php echo json_encode($ab); ?>;
alert(db_array);
但是当我在我的javascript页面中使用var db_array时,它不会显示带值的警告消息
答案 0 :(得分:0)
尝试在你的php页面中首先将$ ab设置为javascript变量值然后包含你的js
echo "<script>var db_array = '". json_encode($ab)."';</script>
<script type='text/javascript' src='javascript1.js'></script>";
并在你的js文件中发出警报
答案 1 :(得分:0)
你想要做的是创建一个PHP脚本,把你的javascript代码放在那里,你需要动态部分放置你的PHP代码,或在那里回应你的东西(处理应该在输出任何东西之前)
renderJS.php
<?php
//code code code
$data = someFunctionThatCreatesData();
//more code code code
//Makes it so browsers know this is actually a js file
header('Content-Type: text/javascript');
?>
//Begin JS
var db_array = <?php echo json_encode($data); ?>;
alert(db_array);
然后在你的html点你的脚本标记src到php文件
<script type="text/javascript" src="renderJS.php"></script>
如果您的处理与html代码在同一个文件中,那么就像Rakesh Sharma在他的答案中显示的那样,然后输出<script>
标签,然后输出您的js代码,然后输出相同的</script>
标签文件(通常用于回显你的头标记)
答案 2 :(得分:0)
我自己做了很多类似的事情,但我反过来做了。我倾向于使用jQuery,这样可以让我的生活更轻松。以下是我通常会尝试完成的工作:
PHP脚本
<?php
//...
//... get the database results into $result array
//...
// output results as JSON
header("Content-Type: application/json");
print json_encode($result);
exit();
Javascript(jQuery)
$.getJSON('path/to/above/file.php', function(data) {
// alert(data) will only show [Object object]
// as with the correct header set it will return
// a Javascript Object/Array
console.log(data);
});
当Javascript代码运行时,它将启动对PHP文件的AJAX请求,并返回编码数据。我希望这会有所帮助。