Ajax Post创建功能Google Maps Engine API

时间:2014-02-12 04:11:14

标签: ajax json google-maps-engine

所以这是我的代码,我已经进行了oauth握手,这给了我身份验证令牌,我将其包含在我的标题中。我只是尝试将一些功能批量插入现有表中。我一直得到400“parseError” - 这个API不支持解析表单编码输入。

这是我的一些代码。我不知道我在哪里提出任何想法。

$(document).ready(function(){
$('.pickTrip').bind('click', function(){
      var pointData = {
                      "features": [
                        {
                          "type": "Feature",
                          "geometry": {
                            "type": "Point",
                            "coordinates": [
                              -87.397980,
                              44.795067
                            ]
                          },
                          "properties": {
                            "gx_id": "1242342",
                            "name": "Jimmy Choo",
                            "phone": "(920)555-4242",
                            "email": "jchoo@aol.com",
                            "vehicle": "mazda, b2300, 1994"
                          }
                        }
                      ]
                    };
                    console.log(pointData);
      var url = "https://www.googleapis.com/mapsengine/v1/tables/{table id}/features/batchInsert";

      jQuery.ajax({
        type: "POST",
        url: url,
        data: pointData,
        dataType: 'application/json',
        headers: {
          'Authorization': 'Bearer ' + authResult.access_token
        },
        success: function(response) {
          // Log the details of the Map.
          console.log(response);
        },
        error: function(response) {
          response = JSON.parse(response.responseText);
          console.log("Error: ", response);
        }
      });

});
});

1 个答案:

答案 0 :(得分:1)

jQuery获取'data'参数中提供的对象,并将键/值对转换为编码的查询字符串。您将要发送原始JS对象并确保它未标记为表单编码。为此,请将“dataType”参数更改为“contentType”,并更新数据值以获取JSON对象的“字符串化”版本。

像这样:

    data: JSON.stringify(pointData),
    contentType: 'application/json',