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