作者yenpaul (Paul)
看板Web_Design
标题[问题] 用ajax读取PHP里的资料出现问题
时间Thu Jul 21 04:10:55 2016
我是照教学网页一步一步的做
https://openenergymonitor.org/emon/node/107
可是做到後面我的网页却跑不出资料
我尝试将success改成complete
可以触发alert, 但是跑出来的资料怪怪的
以下是我的代码
$(document).ready(function(){
$.ajax({
type:"GET",
url:"api.php",
dataType:"json",
complete:function(data)
{
alert("complete");
var id = data[0];
$("#test").html(id);
}
});
});
在api.php上跑的array echo出来没有问题
echo json_encode($array);
另外如果我将id改成data.toString()
html会跑出[object Object]
目前判断ajax应该是有完成与api.php之间的交换
但是不知道为什麽data跑出来是错的 无法显示
希望有人可以帮个忙
谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 142.129.18.133
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Web_Design/M.1469045457.A.087.html
1F:推 pptsodog: 会不会是没有parse? 07/21 08:24
2F:推 Qiqi: JSON.parse(id) 07/21 08:58
感谢帮忙,不过加上了JSON.parse(data)进去可是还是显示不出来耶
另外补充一下,在执行JSON.parse前data为[object object]
可是加入JSON.parse後就完全显示不出来
※ 编辑: yenpaul (142.129.18.133), 07/21/2016 10:32:49
3F:→ Kenqr: 因为有error 所以success没反应 07/21 11:07
4F:推 secondDim: 建议用console.log(data);看一下回传的资料格式 07/21 11:07
5F:→ Kenqr: 改用error函数 看看是什麽错误 07/21 11:07
谢谢大家帮忙,我已经将PHP中的data跑出来了
我用的方法是data.responseText 再 JSON.parse(data)
就可以将PHP读出的阵列传回网页了
谢谢各位
※ 编辑: yenpaul (142.129.18.133), 07/21/2016 12:24:55
6F:推 et69523820: 给你一个建议 基本上开发ajax会比较不好错 因为没有 07/22 07:41
7F:→ et69523820: 显示画面 不知道哪个环节有问题 你可以安装Fiddler这 07/22 07:41
8F:→ et69523820: 套外软体 可以监听http所有的运作 方便除错 07/22 07:42
9F:→ ssccg: 有设dataType的话,callback传入的已经是物件,不需要再 07/22 12:14
10F:→ ssccg: JSON.parse 07/22 12:14
11F:→ ssccg: ↑在用success的时候 07/22 12:16
12F:→ ssccg: 如果是用complete的话,根本没有data,第一个参数是jqXHR 07/22 12:17
14F:→ xdraculax: 这种事应该在 success 作,不应该改 complete 07/22 12:23
我一开始是用success 可是因为一直跑不出来才换成complete
我还在研究为什麽我的success一直跑不出来 .....
※ 编辑: yenpaul (142.129.18.133), 07/23/2016 03:46:12
15F:→ kattte: success 跟 complete 要查一下jQuery API Doc 阿.... 07/28 00:07
16F:→ kattte: 免得出包都不知道死在哪 07/28 00:07