看板 Ajax 關於我們 聯絡資訊
各位前輩好 (建議開全頁模式觀看) 小弟遇到一些問題想請教一下大家 我放在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
LPH66: 你的 text 接完沒放出來啊, 放到 <div> 裡的只有"</table>" 10/25 01:39
抱歉,因為排版太長導致後面被切掉了,麻煩再看一下~~ 我弄回來了
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
Hevak: document.getElementById.('jsondata') 10/25 15:52
Hevak: ^多了一個點 10/25 15:52
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
j16598231: json與jsonp是不一樣的東西噢。如果你只是要單純同網域 10/26 22:52
j16598231: 吐json,應該是php吐json資料;然後AJAX打php. 10/26 22:53