Re: [問題] json格式

看板Ajax作者 (歷史洪流)時間10年前 (2015/01/20 09:17), 編輯推噓4(4012)
留言16則, 6人參與, 最新討論串2/2 (看更多)
※ 引述《azoaho (歷史洪流)》之銘言: : 請問大家 : json在傳送前,是否都一定要字串化嗎 : 是否能用物件的方式傳送? : 因為今天老闆看到我傳送出來的json是字串時 : 把我砲轟了一頓... : 所以想請問大家是我對json的了解錯誤嗎? 以下是我寫給老闆的程式碼 好吧 我承認是真的有想要來討拍的 更想知道如何弄出老闆說的物化傳送 <!DOCTYPE HTML> <html> <script text="text/javascript"> function submitdata() { var tmpdata=false; tmpdata= getformdata(); if(tmpdata) { pushdata(tmpdata); } } function getformdata() { //取得表單上資料 var oform = document.forms["form1"]; var fCount =oform.elements.length; var fArray = new Array(); for(i=0;i<fCount;i++) { fArray[i]= oform.elements[i].value; } //將陣列轉成json格式 //return ; return JSON.stringify(fArray); //return JSON.parse(fArray); ↑↑上面這行 應該是不能成立的吧 但如果是用物件去傳的話 是否在這將陣列轉成json物件? } function createxmlhttprequest() { var http=false; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari http=new XMLHttpRequest(); } else {// code for IE6, IE5 http=new ActiveXObject("Microsoft.XMLHTTP"); } return http; } function pushdata(inData) { var xhr=false; xhr = createxmlhttprequest(); if(xhr) { xhr.onreadystatechange=function() { if (xhr.readyState==4 && xhr.status==200) { alert(xhr.responseText); } } } //傳出json data xhr.open("POST","second.html",true); xhr.setRequestHeader("Content-Type", "application/json"); xhr.send(inData); } </script> <form name="form1" > Points: <input type="number" id="points" name="points" min="1" max="10" /></br></br> Texts <input type="text" id="texts1"/></br></br> Texts <input type="text" id="texts2"/></br></br> Texts <input type="text" id="texts3"/></br></br> </form> <input type="button" onclick="submitdata()" value="按下去" /> </body> </html> -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.125.42.54 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1421716649.A.C97.html

01/20 12:01, , 1F
光看程式碼沒有錯 不過建議不要用new Array直接用實
01/20 12:01, 1F

01/20 12:02, , 2F
字表達式[]
01/20 12:02, 2F

01/20 12:02, , 3F
如果你不用[]而用{}也是OK的
01/20 12:02, 3F

01/20 12:03, , 4F
沒有所謂的"json物件"這種東西 只有javascript物件
01/20 12:03, 4F

01/20 12:03, , 5F
return JSON.parse(fArray)是錯誤的程式碼沒錯 parse
01/20 12:03, 5F

01/20 12:03, , 6F
裡面只能丟JSON格式的字串
01/20 12:03, 6F

01/20 12:04, , 7F
其他我也不懂你到底想問什麼了
01/20 12:04, 7F

01/20 12:32, , 8F
你先搞清楚JSON的格式吧 JSON.stringify的參數是javascript
01/20 12:32, 8F

01/20 12:33, , 9F
object, 不是array 而xhr.send()裡面要丟string沒錯
01/20 12:33, 9F

01/20 13:23, , 10F
JSON.stringify可以丟大部份的javascript變數
01/20 13:23, 10F

01/20 13:23, , 11F
不一定要是object
01/20 13:23, 11F

01/20 14:25, , 12F
樓上說的沒錯 受教了<(_ _)>
01/20 14:25, 12F

01/22 02:41, , 13F
請老闆示範怎麼物化傳送啊
01/22 02:41, 13F

01/22 15:02, , 14F
老闆:我還要自己來的話我幹嘛花錢請你?
01/22 15:02, 14F

01/24 11:02, , 15F
只聽過序列化跟解序列化, 何謂物化請大大開示
01/24 11:02, 15F

01/24 14:48, , 16F
物化女性
01/24 14:48, 16F
文章代碼(AID): #1KlQofoN (Ajax)
討論串 (同標題文章)
本文引述了以下文章的的內容:
7
11
完整討論串 (本文為第 2 之 2 篇):
4
16
7
11
文章代碼(AID): #1KlQofoN (Ajax)