在我的JavaScript我組裝和數組,像這樣:的Javascript JSON到PHP數組
cachePHP = "'lat':'" + (Number(upDataItems[2])).toFixed(5)+"'";
cachePHP = cachePHP + ",'lon':'" + (Number(upDataItems[3])).toFixed(5)+"'";
cachePHP = cachePHP + ",'msec':'" + (parseInt(upDataItems[7])-parseInt(tz))+"'";
cachePHP = cachePHP + ",'spd':'" + (Number(upDataItems[0])).toFixed(1)+"'";
cachePHP = cachePHP + ",'hdg':'" + (Number(upDataItems[1])).toFixed(1)+"'";
dataCacheNew.push("{"+cachePHP+"}");
我將數據添加到陣列的變化量,可能是10個項目,可能是100 ......然後我將其推送到PHP文件。 PHP文件是由JavaScript調用,像這樣:
"my.php?che="+JSON.stringify(dataCacheNew);
在PHP中,我怎樣才能獲取數據,所以我可以「解析」,並將其上傳到我的數據庫?
UPDATE 03/13: 我仍然無法得到這個工作。更新每個建議下面,仍然...沒有工作!
我的JavaScript(jQuery的):
var jsonData = new Array();
jsonData.push({
lat: Number(56.34).toFixed(2),
lon: Number(12.56).toFixed(2),
msec: Number(123456799000).toFixed(2),
spd: Number(4.2).toFixed(2),
hdg: Number(1.4).toFixed(2)
});
jsonData.push({
lat: Number(12.34).toFixed(2),
lon: Number(34.56).toFixed(2),
msec: Number(123456789000).toFixed(2),
spd: Number(1.2).toFixed(2),
hdg: Number(3.4).toFixed(2)
});
$.ajax({
url: 'insertCache.php',
type: 'POST',
data: "che="+JSON.stringify(jsonData),
dataType: 'json',
contentType: "application/json",
success: function(result) {
alert(result);
}
});
我的PHP:
$cache = $_POST['che'];
writeData($cache,"insertCache.txt");
$cacheDecode = json_decode($cache);
writeData($cacheDecode,"insertCacheDecode.txt");
insertCache.txt:
[{\"lat\":\"56.34\",\"lon\":\"12.56\",\"msec\":\"123456799000.00\",\"spd\":\"4.20\",\"hdg\":\"1.40\"},{\"lat\":\"12.34\",\"lon\":\"34.56\",\"msec\":\"123456789000.00\",\"spd\":\"1.20\",\"hdg\":\"3.40\"}]
insertCacheDecode.txt 完全空白
是什麼給了?
你爲什麼試圖自己建立一個JSON字符串? – 2013-03-12 20:03:33
採取的一點,是的,肯定會改變這種做法。 – 2013-03-12 20:06:11
爲什麼你首先使用JSON?爲什麼不把數據作爲查詢字符串發送到PHP?例如。 'my.php?lat = 123&lon = 456' – 2013-03-12 20:08:54