所以这是我的代码,我已经进行了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);
}
});
});
});
答案 0 :(得分:1)
jQuery获取'data'参数中提供的对象,并将键/值对转换为编码的查询字符串。您将要发送原始JS对象并确保它未标记为表单编码。为此,请将“dataType”参数更改为“contentType”,并更新数据值以获取JSON对象的“字符串化”版本。
像这样:
data: JSON.stringify(pointData),
contentType: 'application/json',