作者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