[問題] 資料庫轉JSON格式傳給javascript

看板Ajax作者 (撿到一百塊雷~)時間8年前 (2016/10/25 01:22), 8年前編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/1
各位前輩好 (建議開全頁模式觀看) 小弟遇到一些問題想請教一下大家 我放在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://www.ptt.cc/bbs/Ajax/M.1477329741.A.3A8.html

10/25 01:39, , 1F
你的 text 接完沒放出來啊, 放到 <div> 裡的只有"</table>"
10/25 01:39, 1F
抱歉,因為排版太長導致後面被切掉了,麻煩再看一下~~ 我弄回來了

10/25 11:26, , 2F
同網域幹嘛 JSONP ?
10/25 11:26, 2F
抱歉我不太懂耶,因為資料庫是用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

10/25 15:52, , 3F
document.getElementById.('jsondata')
10/25 15:52, 3F

10/25 15:52, , 4F
^多了一個點
10/25 15:52, 4F

10/25 15:52, , 5F
你在瀏覽器應該先按f12叫出console看到底有什麼錯誤訊息
10/25 15:52, 5F
※ 編輯: andrew5106 (180.217.249.191), 10/25/2016 18:32:03 ※ 編輯: andrew5106 (180.217.249.191), 10/25/2016 18:32:44

10/26 22:52, , 6F
json與jsonp是不一樣的東西噢。如果你只是要單純同網域
10/26 22:52, 6F

10/26 22:53, , 7F
吐json,應該是php吐json資料;然後AJAX打php.
10/26 22:53, 7F
文章代碼(AID): #1O3aDDEe (Ajax)
文章代碼(AID): #1O3aDDEe (Ajax)