Возможности Ajax Post Создать API 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 ответ

Решение

jQuery принимает объект, указанный в параметре "data", и превращает пары ключ / значение в закодированную строку запроса. Вы захотите отправить необработанный объект JS и убедиться, что он не помечен как закодированный в форме. Для этого измените параметр "dataType" на "contentType" и обновите значение данных, чтобы получить "строковую" версию объекта JSON.

Как это:

    data: JSON.stringify(pointData),
    contentType: 'application/json',
Другие вопросы по тегам