您好我一直在尝试将带有地理位置数据的对象数组从jquery传递到php脚本以保存到数据库。我一整夜都试图让这个工作起来,所以可能因为睡眠不足而缺少一些东西。
jquery对象结构如下
var testData = [];
var coords = {
lat: 12.6544885,
lng: 23.545665
};
var pos = {
timestamp: 1222355465,
latlng: coords
};
testData.push(pos);
var coords = {
lat: 55.6544885,
lng: 55.545665
};
var pos = {
timestamp: 555,
latlng: coords
};
testData.push(pos);
我试图通过.ajax使用以下
发布此内容$.ajax({
type: 'POST',
data: JSON.stringify(testData),
//change the url for your project
url: 'www.mydomain.com/save2.php',
success: function(data){
console.log(data);
alert('Sucess');
},
error: function(){
console.log(data);
alert('Error');
}
});
我在php端解码并尝试使用以下内容放入数据库。
$myData = json_decode($_REQUEST['testData']);
$sql = "INSERT INTO walk (timestamp, latitude, longitude) ";
$sql .= "VALUES ($myData->timestamp, $myData->latlng->lat, $myData->latlng->lng)";
我会对此问题的任何意见表示感谢。
答案 0 :(得分:2)
在ajax选项中,尝试将data: JSON.stringify(testData),
更改为
data: { 'testData': JSON.stringify(testData) },
否则您将没有有效的查询字符串。