作者azoaho (歷史洪流)
看板Ajax
標題Re: [問題] json格式
時間Tue Jan 20 09:17:26 2015
※ 引述《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://webptt.com/m.aspx?n=bbs/Ajax/M.1421716649.A.C97.html
1F:推 mrbigmouth: 光看程式碼沒有錯 不過建議不要用new Array直接用實 01/20 12:01
2F:→ mrbigmouth: 字表達式[] 01/20 12:02
3F:→ mrbigmouth: 如果你不用[]而用{}也是OK的 01/20 12:02
4F:→ mrbigmouth: 沒有所謂的"json物件"這種東西 只有javascript物件 01/20 12:03
5F:→ mrbigmouth: return JSON.parse(fArray)是錯誤的程式碼沒錯 parse 01/20 12:03
6F:→ mrbigmouth: 裡面只能丟JSON格式的字串 01/20 12:03
7F:→ mrbigmouth: 其他我也不懂你到底想問什麼了 01/20 12:04
8F:→ ddhp: 你先搞清楚JSON的格式吧 JSON.stringify的參數是javascript 01/20 12:32
9F:→ ddhp: object, 不是array 而xhr.send()裡面要丟string沒錯 01/20 12:33
10F:推 mrbigmouth: JSON.stringify可以丟大部份的javascript變數 01/20 13:23
11F:→ mrbigmouth: 不一定要是object 01/20 13:23
12F:→ ddhp: 樓上說的沒錯 受教了<(_ _)> 01/20 14:25
13F:→ MangoTW: 請老闆示範怎麼物化傳送啊 01/22 02:41
14F:推 Peruheru: 老闆:我還要自己來的話我幹嘛花錢請你? 01/22 15:02
15F:推 Panasonic: 只聽過序列化跟解序列化, 何謂物化請大大開示 01/24 11:02
16F:→ KawasumiMai: 物化女性 01/24 14:48