作者robinnpca (rob)
看板Ajax
標題[ajax] 請問二維陣列json的傳遞
時間Mon Dec 26 17:26:52 2011
想請教jquery的dataType為json
應該指的是回傳會是以json的方式回傳
那我送出去的資料需要或說可以以json的方式寫嗎?
試了很久都不成功請教傳送的寫法
舉例陣列如下
var movex=new Array();
movex=[[1,10],[2,20],[3,30],[4,40]]
$.ajax({
url: 'head.php',
type:"POST",
dataType: 'json',
contentType: "application/json; charset=utf-8",
data:{
all:movex
},
errot: function(){
alert(ajax error);
},
success: function (response) {
alert("成功="+response[0].jsonname); // do stuff
}
})
//如果data想用json直接傳出
可以改寫movex2={"movename":movex}嗎?
(試過好像都怪怪的不是ajax失敗就是不出來回應)
data:{
all:movex2
}
head.php內容
<?php
if (isset($_POST['all'])){
$allbox=$_POST['all'];// 此時收到應該是一個陣列..object?
$json_string = json_encode($allbox);
//這裡可以直接抓還是要再給一個json
//的name?如$json_string=json_encode(jsonname:$allbox);//需要這樣嗎?
//echo $allbox;
echo $json_string;
}
?>
請教傳去和傳回來的json data內容的寫法...
--
寧願天空是藍色~
也不願心情是藍的!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.17.52.209
推 mrbigmouth:ajax的dataType純粹指收到的資料類別 也就是response 12/26 18:33
→ mrbigmouth:將其指定為json的結果就是會自動對response parase 12/26 18:33
→ mrbigmouth:dataType跟傳過去的data是無關的 12/26 18:34
→ mrbigmouth:data必須是字串數字 或者{}物件 12/26 18:34
→ mrbigmouth:後者jquery會自動拆下去 但傳陣列是不行的 12/26 18:34
推 mrbigmouth:更正 其實不是不行 但你還是用key:value的物件傳會比較 12/26 18:38
→ mrbigmouth:好 詳情請自己看jquery的文件囉 12/26 18:39
※ 編輯: robinnpca 來自: 123.195.76.164 (12/26 19:22)
→ robinnpca:傳過去的data用key:value這裡面的value可用陣列嗎? 12/26 19:24
→ robinnpca:很清楚^^去和回來是沒有關係的 請問那如果我在php中要 12/26 19:25
→ robinnpca:echo的變數我已經排成json形式..那還需要json_encode嗎 12/26 19:25
→ robinnpca:還是直接傳回html就會parse成json格式? 12/26 19:26
→ robinnpca:實在是試了很久都出不來才不得已來請教..原文和網路例子 12/26 19:27
→ robinnpca:也都找過..但還是模仿失敗...請教摟! 12/26 19:27
→ robinnpca:成功了!將陣列改成json形式去當value傳送出去..在回來 12/26 19:45
→ robinnpca:用encode和json回html就可以了!茅塞頓開~感謝! 12/26 19:46