@ user268396 рассказал вам, почему, и я расскажу вам, как.
«Access-Control-Allow-Origin
» означает источник, которому вы разрешили сделать запрос на этот сервер.
Это может быть в таких формах, как:
"Access-Control-Allow-Methods
" должно быть [] string ("POST", "OPTION"), если вы хотите разместить данные из CORS.
Когда дело доходит до Голанга, см. Godoc https://golang.org/pkg/net/http/#Header
type Header map[string][]string
И я всегда предлагаю использовать [114 ] вместо Header.Set()
, если вы точно не знаете, что делаете. Потому что каждое значение в заголовке всегда будет [] строкой.
Так и должно быть
res.Header().Add("Access-Control-Allow-Origin", "*")
res.Header().Add("Access-Control-Allow-Methods", "POST")
res.Header().Add("Access-Control-Allow-Methods", "OPTION")
res.Header().Add("Content-Type", "application/json")
Нет, это не определяется. Это может привести к нарушению доступа к памяти, поскольку это будет продолжать рассчитывать, пока это не достигнет первого байта памяти, значение которого 0.
Из стандарта C99:
функция strlen возвращает количество символов, которые предшествуют завершающемуся нулевому символу.
, Если нет никакого нулевого символа, который означает, результат не определен.
Едва ли, и это вызовет плохие вещи .
Если Ваша строка не будет завершенным NUL, то функция будет продолжать смотреть, пока это не найдет тот.
, Если Вы удачливы, это заставит Вашу программу отказывать.
, Если Вы не удачливы, Вы получите большее, чем ожидаемая длина назад с большим количеством 'неожиданных' значений в нем.
Это возвратит количество символов, с которыми встречаются, прежде чем '\0' будет найден.
Это не определяется. Это вызывает неопределенное поведение, что означает, что что-либо может произойти, скорее всего, Ваша программа откажет.
strlen () только работает (делает что-то полезное) на завершенных пустым указателем строках; Вы получите совершенно неопределенный результат, если Вы передадите в чем-нибудь кроме этого. Если Вы будете удачливы, то это не вызовет катастрофический отказ:)
Это всегда определяется.
Это возвратит длину "строки", пока это не достигнет байта с пустым указателем в нем. Плохая идея, потому что это может вызвать переполнение буфера.