[問題] php傳json,ajax接收

看板Ajax作者 (QAQ)時間7年前 (2017/05/08 01:50), 7年前編輯推噓2(208)
留言10則, 4人參與, 最新討論串1/2 (看更多)
各位前輩大家好,今天嘗試了好久json傳陣列,可是一直出現問題。 在php端將資料庫值取出後,製作成json檔 http://imgur.com/NGMdPZf.jpg
在這部份可以看到json各式 http://imgur.com/cMHggDg.jpg
在傳出去後js部分會顯示success,但是會接到一個Array(0),下面為js接收code http://imgur.com/FAYDjIn.jpg
嘗試直接傳$arr =(1,2,3) ; json_encode($arr); 又可以成功,所以是壓縮各式問題嗎 ? 另外,json的key值若是數字,是不是會產生錯誤? 還請各位前輩解惑,感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.12.100.124 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1494179408.A.CFC.html

05/08 11:38, , 1F
你應該在 Javascript 端用 console print 收到的 text
05/08 11:38, 1F

05/08 11:39, , 2F
再用 JSON.parse() 去轉它看看
05/08 11:39, 2F

05/08 11:40, , 3F
先不要直接整套丟給 jQuery 去處理
05/08 11:40, 3F
我不太懂您的意思,我的資料不是在php已經用json_encode處理過了嗎,在js就是用ajax 接收整個json檔? 另外,我將php內 'PE'=>$row[0]改為 'PE'=>"test",又可以傳的出去,是有什麼各式限 制嗎 再次感謝解答 ※ 編輯: qaqvvvvqaq (39.12.100.124), 05/08/2017 17:49:06

05/08 19:19, , 4F
可是我看你第2張圖傳的不是陣列啊 o.O 是 object...
05/08 19:19, 4F
php加上$alldata=array();時傳出array(0),若是不加上這行怎會出現null或是object內 容值為null。 所以是這個接法的json還要再另外處理嗎? ※ 編輯: qaqvvvvqaq (39.12.100.124), 05/08/2017 20:37:59

05/08 21:43, , 5F
ajax將資料傳到後台的php,然後處理後,你可以回傳
05/08 21:43, 5F

05/08 21:44, , 6F
array or json,你現在的狀況是回傳json,所以阿,接
05/08 21:44, 6F

05/08 21:46, , 7F
資料要用JSON.parse()來接,在success('result')要加
05/08 21:46, 7F

05/08 21:49, , 8F
接收回傳值 result,然後 res=json.parse(result)
05/08 21:49, 8F

05/08 21:50, , 9F
就可以獲取php傳回的json
05/08 21:50, 9F

05/09 12:44, , 10F
dataType: json
05/09 12:44, 10F
謝謝各位回覆,已經試出來了 ※ 編輯: qaqvvvvqaq (39.12.100.124), 05/09/2017 18:02:07
文章代碼(AID): #1P3rvGpy (Ajax)
文章代碼(AID): #1P3rvGpy (Ajax)