※ 引述《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>