作者john110290 (KenMin)
看板Ajax
標題[問題] 關於一個 php + mySQL 範例的延伸
時間Thu Feb 20 21:27:06 2014
首先小弟新手參考這個範例
http://www.w3schools.com/php/php_ajax_database.asp
就是從資料庫讀出一筆多個欄位的資料
接下來我想用javascript對這些讀出來的欄位資料作一些後續的事情
是現成的函式 有點像是餵給它一些欄位資料當參數 來創造一個物件
但我不知道要寫在哪裡好?
我主要卡在:
因為在還沒做資料庫讀取之前
javascript的函式沒有參數可讀取
是可以寫一個判斷有沒有資料能讀再執行函式的東西嗎? (好像很迂迴?)
還是用PHP產生初始這個物件的code? (好像比較不建議用echo去生js?)
希望問得不會太混亂
我需要一些處理上的想法 感恩 :P
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.24.148.144
1F:→ ql4au04:看不太懂問題誒 不能寫一個js function 等有參數再去call 02/20 23:17
2F:→ ql4au04:嗎? 還是我根本誤會你的問題了XD 02/20 23:18
3F:推 LPH66:你所說的"用 PHP 產生初始這個物件的 code" 有一個名詞 02/20 23:26
4F:→ john110290:感謝回答!! 所以我是要寫一個按鈕來觸發js function嗎? 02/20 23:27
6F:→ john110290:我那個物件已經用js寫好了說 就式要丟參數變成實體 02/20 23:28
7F:→ john110290:感謝LPH66 想請問這是唯一(最單純)的辦法嗎? :P 02/20 23:32
8F:→ john110290:感謝ql4au04 請問要怎麼樣等到有參數再call @@ 02/20 23:50
9F:推 LPH66:個人私心認為 JSONP 最好寫, 不過不容易安全 (維基有說) 02/21 01:02
10F:→ LPH66:如果不要回傳程式的話回傳 JSON 過來 js 這邊再做事也是可行 02/21 01:02
11F:→ LPH66:基本做法就是你查到的那樣, 只是 php 換成輸出 JSON 02/21 01:03
12F:→ LPH66:然後 js 這邊接下來轉成 javascript 物件之後要做什麼就隨你 02/21 01:04
13F:推 xperiaZL:感覺ajax去呼叫php讀取資料庫 回傳值的話 再把物件實體化 02/21 13:06
14F:→ john110290:為什麼我接到JSON a之後 a.id都是undefined? = =a 02/21 13:36
15F:→ john110290:然後直接秀a出來就會是{"id":"0", "其他"...} 這樣= = 02/21 13:36
16F:→ john110290:php那邊用的是json_encode 02/21 13:38
17F:→ john110290:js這邊接的方法跟範例一樣用的是xmlhttp.responseText 02/21 13:39
18F:→ danny8376:response"""Text""" <<< 很清楚吧 02/21 14:17
19F:→ john110290:果然 感謝XD 02/21 14:41
20F:→ john110290:解決不了= = JSON.parse(xmlhttp.responseText)會出錯 02/21 15:40
21F:→ john110290:查到是用parse 但自己都試不出來 崩潰!!!!! 02/21 15:40
22F:→ john110290:Unchaught SyntaxError: Unexpected token < 02/21 15:42
23F:推 mrbigmouth:會出錯就是格式有錯 你確定你是用json_encode? 02/21 16:41
24F:→ mrbigmouth:json_encode後有沒有加其他東西進去? 02/21 16:41
25F:→ mrbigmouth:直接看xmlhttp.responseText內容是什麼? 02/21 16:42
26F:→ john110290:直接看就是{"a"="123", "b"="456", ...}的東西 02/21 16:43
27F:→ john110290:打錯 {"a":"123", "b":"456", ...} 02/21 16:43
28F:→ john110290:啊...自解 000webhost有一個analytics code的功能... 02/21 17:06
29F:→ john110290:他讓我從php收到的JSON物件後面又附加了一長串字... 02/21 17:06
30F:→ john110290:這些字用alert才看得到 放在innerHTML看不到所以parse 02/21 17:07
31F:→ john110290:會有語法錯誤... 不過很奇怪 是不是我寫法不好才會 02/21 17:07
32F:→ john110290:收到000webhost的analytics code...? 這方面真不懂 囧 02/21 17:08
33F:推 mrbigmouth:那串字說的是什麼? 02/21 17:42
34F:→ mrbigmouth:先把吐json時的php header的content-type改成 02/21 17:44
35F:→ mrbigmouth:application/json 看看 02/21 17:44
36F:推 LPH66:那個跟你的程式無關 (000webhost 大概是自動加的...) 02/24 00:47
37F:→ danny8376:000是直接所有PHP尾巴都會吐 要解的話 除了換空間外 02/24 09:20
38F:→ danny8376:你只能用一般HTML的XHR去收 自己去尾巴之後 在parse 02/24 09:22
39F:→ danny8376:至於樓樓上 000沒做那麼詳細wwww 02/24 09:30
40F:推 mrbigmouth:這空間太差勁了XD 02/24 09:46
41F:→ mrbigmouth:原po自己收text去尾後再用JSON.parse吧 02/24 09:46
42F:→ mrbigmouth:所有主流瀏覽器都有 02/24 09:46
43F:→ danny8376:我不記得000有過好名聲啊wwwwww 02/24 22:50