Не удается получить доступ к данным, отправленным с сервера как POST AJAX in JSON - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть форма на странице. Я отправляю запрос ajax json POST, который я хочу проанализировать на сервере. Я не использую Go фреймворки.

type data1 struct {
  email string
  fullName string `json:full_name`
  body string
}


  //[...............]
  var d1 data1
  err := json.NewDecoder(r.Body).Decode(&d1)
  if err != nil {
    log.Print("error#1")
    http.Error(w, err.Error(), http.StatusBadRequest)
    return
  }

  log.Printf("data#1: %+v", d1)

Я всегда получаю это в журнале:

  data#1: {email: fullName: body:}

С сервера правильно отправляется реквизит - я вижу, что в Chrome dev tools.

Почему и как это исправить?

1 Ответ

0 голосов
/ 18 февраля 2020

В структуре data1 поля не экспортируются. Они должны быть экспортированы для использования в json декодере. Кроме того, ваш тег json не записан в правильном синтаксисе.

Вы можете изменить структуру data1 следующим образом:

type data1 struct {
  Email string
  FullName string `json:"full_name"`
  Body string
}

Go PlayGround Link

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...