作者andrew5106 (捡到一百块雷~)
看板Ajax
标题[问题] 资料库转JSON格式传给javascript
时间Tue Oct 25 01:22:16 2016
各位前辈好 (建议开全页模式观看)
小弟遇到一些问题想请教一下大家
我放在MYSQL的资料如下
http://i.imgur.com/a/BhDGz.jpg
目前需将资料库的资料拉出来
转json给javascript接收
参考到
https://www.youtube.com/watch?v=8xq6PBqjcl8 的作法
在php拉出资料的部分是成功的
但要给javascript接收却一直失败
----------- 以下为程式码
data.php
<?php
header("Content-type: text/javascript");
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '123456';
$dbname = 'test2';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) ;
mysql_query("SET NAMES 'utf8'");
mysql_select_db($dbname);
$sql = "SELECT X,Y,Z FROM test";
$result = mysql_query($sql);
$array_user=array();
$output="";
while($data = mysql_fetch_assoc($result))
{
$array_user[] = $data;
}
$output= json_encode($array_user);
if(isset($_GET['callback'])){
$callback=$_GET['callback'];
echo $callback. '(' . $output . ');';
}
else{
echo $output;
}
?>
执行结果为
http://i.imgur.com/a/JO8D8.jpg
此部分是成功的
但是
下面这段
<!DOCTYPE html>
<html>
<head>
<title>json</title>
</head>
<body>
<div id ='jsondata'></div>
<script>
function myCallback(data){
var text = '';
for (var i=0; i< data.length; i++){
item=data[i];
text+= "X" + item.X +"Y"+item.Y+"Z"+item.Z+"</br>";
}
document.getElementById.('jsondata').innerHTML="<table border='0'>" +text+
"</table>";
}
</script>
<script src='http://localhost/data.php?callback=myCallback'></script>
</body>
</html>
在这部分就无法成功执行
而且从网页原始码来看好像script里的程式都没有作用(字都灰的)
不知道是哪边出了错误
请各位帮忙一下,谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.217.249.191
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1477329741.A.3A8.html
1F:推 LPH66: 你的 text 接完没放出来啊, 放到 <div> 里的只有"</table>" 10/25 01:39
抱歉,因为排版太长导致後面被切掉了,麻烦再看一下~~ 我弄回来了
2F:→ MangoTW: 同网域干嘛 JSONP ? 10/25 11:26
抱歉我不太懂耶,因为资料库是用PHP,然後网页用javascript来接收PHP的阵列,还是说有其他不需要转JSON格式的方法呢?
就是可以直接让javascript接收PHP资料的方法??
因为基本上我就是照着影片来做,但不晓得为什麽行不通,javascript初学者QQ
※ 编辑: andrew5106 (114.46.174.57), 10/25/2016 15:19:17
※ 编辑: andrew5106 (114.46.174.57), 10/25/2016 15:20:38
3F:→ Hevak: document.getElementById.('jsondata') 10/25 15:52
4F:→ Hevak: ^多了一个点 10/25 15:52
5F:→ Hevak: 你在浏览器应该先按f12叫出console看到底有什麽错误讯息 10/25 15:52
※ 编辑: andrew5106 (180.217.249.191), 10/25/2016 18:32:03
※ 编辑: andrew5106 (180.217.249.191), 10/25/2016 18:32:44
6F:推 j16598231: json与jsonp是不一样的东西噢。如果你只是要单纯同网域 10/26 22:52
7F:→ j16598231: 吐json,应该是php吐json资料;然後AJAX打php. 10/26 22:53