看板 Ajax 關於我們 聯絡資訊
如題 做的東西有需要用javascript把編好的json 傳到php中作處理存入mysql php傳到javascript我會 可是相反過來操作 我就不會了 這裡附上我的程式碼 不知道為什麼 在js端編出來的是正確的json 可是到了php decode後卻不是正確的json 拜託各位了 js端: 其中member比較特別 是個陣列 $('input:checkbox:checked[name="mem"]').each(function(i) { new_members[i] = this.value;}); 其他都是一般變數 var obj = {"title":new_title, "time":new_time, "content":new_content, "member":new_members}; var json_obj = JSON.stringify(obj); alert(json_obj); $.ajax({ url:"receive_meeting_set.php", type:"POST", data:{"jdata":json_obj}, dataType:"text", success:function(Jdata){ alert("tt"); alert(Jdata);}, error:function(){alert("伺服器發生錯誤");} }); php端: <?php if($_POST['jdata']!=null) { $data= json_decode($_POST['jdata']); echo $data." ".$_POST['jdata']; } ?> 其中js我用alert(json_obj);會秀出 {"title":"123","time":"00:00","content":"123","member":["b","i","q"]} 應該是很正常的json沒錯 可是到php 我用echo $data." ".$_POST['jdata']; 會發現$data沒有東西 而$POST_['jdata']卻是這個 {\"title\":\"123\",\"time\":\"00:00\",\"content\":\"123\" ,\"member\":[\"b\",\"i\",\"q\"]} 找了好久找不到解決的方法 新手不是很懂json array的操作 希望大家可以幫忙~ 文章這麼長 看完的人謝謝摟~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.243.217.29
kerash:ajax 的data已經是json了,為什麼還要去encode另一個? 08/25 00:09
什麼意思 有點不太懂 對json ajax一知半解 懇請大大詳細教學QQ ※ 編輯: liar2 來自: 111.243.217.29 (08/25 00:11)
kerash:就是你$.Ajax 中的data 就是使用json格式,丟到php當post 08/25 00:21
kerash:參數使用就好,不用再decode 08/25 00:23
我將php那裡不做decode 然後直接echo $_POST['jdata']->title後 是傳回一個空的東西0.0 ※ 編輯: liar2 來自: 111.243.217.29 (08/25 00:28)
tyf99:stripslashes 08/25 05:15
mrbigmouth:看你有沒有把magic_quote打開 可能需要stripslashes 08/25 08:07
nenpow:在php用var_dump(json_decode($_POST['data'],true))看看 08/25 10:59
nenpow:但你的需求可能不需要用到JSON 08/25 11:02