[ajax] 請問二維陣列json的傳遞

看板Ajax作者 (rob)時間13年前 (2011/12/26 17:26), 編輯推噓2(2013)
留言15則, 2人參與, 最新討論串1/1
想請教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

12/26 18:33, , 1F
ajax的dataType純粹指收到的資料類別 也就是response
12/26 18:33, 1F

12/26 18:33, , 2F
將其指定為json的結果就是會自動對response parase
12/26 18:33, 2F

12/26 18:34, , 3F
dataType跟傳過去的data是無關的
12/26 18:34, 3F

12/26 18:34, , 4F
data必須是字串數字 或者{}物件
12/26 18:34, 4F

12/26 18:34, , 5F
後者jquery會自動拆下去 但傳陣列是不行的
12/26 18:34, 5F

12/26 18:38, , 6F
更正 其實不是不行 但你還是用key:value的物件傳會比較
12/26 18:38, 6F

12/26 18:39, , 7F
好 詳情請自己看jquery的文件囉
12/26 18:39, 7F
※ 編輯: robinnpca 來自: 123.195.76.164 (12/26 19:22)

12/26 19:24, , 8F
傳過去的data用key:value這裡面的value可用陣列嗎?
12/26 19:24, 8F

12/26 19:25, , 9F
很清楚^^去和回來是沒有關係的 請問那如果我在php中要
12/26 19:25, 9F

12/26 19:25, , 10F
echo的變數我已經排成json形式..那還需要json_encode嗎
12/26 19:25, 10F

12/26 19:26, , 11F
還是直接傳回html就會parse成json格式?
12/26 19:26, 11F

12/26 19:27, , 12F
實在是試了很久都出不來才不得已來請教..原文和網路例子
12/26 19:27, 12F

12/26 19:27, , 13F
也都找過..但還是模仿失敗...請教摟!
12/26 19:27, 13F

12/26 19:45, , 14F
成功了!將陣列改成json形式去當value傳送出去..在回來
12/26 19:45, 14F

12/26 19:46, , 15F
用encode和json回html就可以了!茅塞頓開~感謝!
12/26 19:46, 15F
文章代碼(AID): #1E-3tW68 (Ajax)
文章代碼(AID): #1E-3tW68 (Ajax)