[問題] 用ajax讀取PHP裡的資料出現問題

作者: yenpaul (Paul)   2016-07-21 04:10:55
我是照教學網頁一步一步的做
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跑出來是錯的 無法顯示
希望有人可以幫個忙
謝謝大家
作者: pptsodog (天橋下說書)   2016-07-21 08:24:00
會不會是沒有parse?
作者: Qiqi (潑潑)   2016-07-21 08:58:00
JSON.parse(id)
作者: Kenqr (function(){})()   2016-07-21 11:07:00
因為有error 所以success沒反應
作者: secondDim ( 祈求備取會上)   2016-07-21 11:07:00
建議用console.log(data);看一下回傳的資料格式
作者: et69523820 (小豬)   2016-07-22 07:41:00
給你一個建議 基本上開發ajax會比較不好錯 因為沒有顯示畫面 不知道哪個環節有問題 你可以安裝Fiddler這套外軟體 可以監聽http所有的運作 方便除錯
作者: ssccg (23)   2016-07-22 12:14:00
有設dataType的話,callback傳入的已經是物件,不需要再JSON.parse↑在用success的時候如果是用complete的話,根本沒有data,第一個參數是jqXHR用API先看好API說明 http://api.jquery.com/jquery.ajax/
作者: xdraculax (首席怪叔叔)   2016-07-22 12:23:00
這種事應該在 success 作,不應該改 complete
作者: kattte (誠實面對自己吧!)   2016-07-28 00:07:00
success 跟 complete 要查一下jQuery API Doc 阿....免得出包都不知道死在哪

Links booklink

Contact Us: admin [ a t ] ucptt.com