将一个对象数组从jquery传递给php并保存到数据库

时间:2013-04-13 14:26:33

标签: php javascript jquery

您好我一直在尝试将带有地理位置数据的对象数组从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)";

我会对此问题的任何意见表示感谢。

1 个答案:

答案 0 :(得分:2)

在ajax选项中,尝试将data: JSON.stringify(testData),更改为

data: { 'testData': JSON.stringify(testData) },

否则您将没有有效的查询字符串。