[问题] 关于一个 php + mySQL 范例的延伸

楼主: john110290 (KenMin)   2014-02-20 21:27:06
首先小弟新手参考这个范例
http://www.w3schools.com/php/php_ajax_database.asp
就是从数据库读出一笔多个字段的资料
接下来我想用javascript对这些读出来的字段资料作一些后续的事情
是现成的函式 有点像是喂给它一些字段资料当参数 来创造一个物件
但我不知道要写在哪里好?
我主要卡在:
因为在还没做数据库读取之前
javascript的函式没有参数可读取
是可以写一个判断有没有资料能读再执行函式的东西吗? (好像很迂回?)
还是用PHP产生初始这个物件的code? (好像比较不建议用echo去生js?)
希望问得不会太混乱
我需要一些处理上的想法 感恩 :P
作者: ql4au04 (方便面)   2014-02-20 23:17:00
看不太懂问题诶 不能写一个js function 等有参数再去call吗? 还是我根本误会你的问题了XD
作者: LPH66 (-6.2598534e+18f)   2014-02-20 23:26:00
你所说的"用 PHP 产生初始这个物件的 code" 有一个名词
楼主: john110290 (KenMin)   2014-02-20 23:27:00
感谢回答!! 所以我是要写一个按钮来触发js function吗?
作者: LPH66 (-6.2598534e+18f)   2014-02-20 23:27:00
叫做 JSONP 参见维基 http://zh.wikipedia.org/wiki/JSONP
楼主: john110290 (KenMin)   2014-02-20 23:28:00
我那个物件已经用js写好了说 就式要丢参数变成实体感谢LPH66 想请问这是唯一(最单纯)的办法吗? :P感谢ql4au04 请问要怎么样等到有参数再call @@
作者: LPH66 (-6.2598534e+18f)   2014-02-21 01:02:00
个人私心认为 JSONP 最好写, 不过不容易安全 (维基有说)如果不要回传程式的话回传 JSON 过来 js 这边再做事也是可行基本做法就是你查到的那样, 只是 php 换成输出 JSON然后 js 这边接下来转成 javascript 物件之后要做什么就随你
作者: xperiaZL (sony)   2014-02-21 13:06:00
感觉ajax去呼叫php读取数据库 回传值的话 再把物件实体化
楼主: john110290 (KenMin)   2014-02-21 13:36:00
为什么我接到JSON a之后 a.id都是undefined? = =a然后直接秀a出来就会是{"id":"0", "其他"...} 这样= =php那边用的是json_encodejs这边接的方法跟范例一样用的是xmlhttp.responseText
作者: danny8376 (钓到一只猴子@_@)   2014-02-21 14:17:00
response"""Text""" <<< 很清楚吧
楼主: john110290 (KenMin)   2014-02-21 14:41:00
果然 感谢XD解决不了= = JSON.parse(xmlhttp.responseText)会出错查到是用parse 但自己都试不出来 崩溃!!!!!Unchaught SyntaxError: Unexpected token <
作者: mrbigmouth (大嘴先生)   2014-02-21 16:41:00
会出错就是格式有错 你确定你是用json_encode?json_encode后有没有加其他东西进去?直接看xmlhttp.responseText内容是什么?
楼主: john110290 (KenMin)   2014-02-21 16:43:00
直接看就是{"a"="123", "b"="456", ...}的东西打错 {"a":"123", "b":"456", ...}啊...自解 000webhost有一个analytics code的功能...他让我从php收到的JSON物件后面又附加了一长串字...这些字用alert才看得到 放在innerHTML看不到所以parse会有语法错误... 不过很奇怪 是不是我写法不好才会收到000webhost的analytics code...? 这方面真不懂 囧
作者: mrbigmouth (大嘴先生)   2014-02-21 17:42:00
那串字说的是什么?先把吐json时的php header的content-type改成application/json 看看
作者: LPH66 (-6.2598534e+18f)   2014-02-24 00:47:00
那个跟你的程式无关 (000webhost 大概是自动加的...)
作者: danny8376 (钓到一只猴子@_@)   2014-02-24 09:20:00
000是直接所有PHP尾巴都会吐 要解的话 除了换空间外你只能用一般HTML的XHR去收 自己去尾巴之后 在parse至于楼楼上 000没做那么详细wwww
作者: mrbigmouth (大嘴先生)   2014-02-24 09:46:00
这空间太差劲了XD原po自己收text去尾后再用JSON.parse吧所有主流浏览器都有
作者: danny8376 (钓到一只猴子@_@)   2014-02-24 22:50:00
我不记得000有过好名声啊wwwwww

Links booklink

Contact Us: admin [ a t ] ucptt.com