Как упоминали Джейсон и Джонатон, вам не следует десериализовать JSON вручную. В зависимости от того, какую версию jQuery вы используете, jQuery автоматически десериализует JSON на основе заголовка типа содержимого ответа. Итак, вы, вероятно, пытаетесь $ .parseJSON () что-то, что уже является объектом, а не строкой JSON.
Чтобы убедиться, что jQuery выполняет эту автоматическую десериализацию, добавьте параметр dataType
к вызову $ .ajax ():
$.ajax({
type: 'POST',
dataType: 'json',
url: '/users/invitation',
data: $('#user_invitation_new').serialize(),
success: function(response) {
console.log(response.valid_emails);
console.log(response.invalid_emails);
}
});