Это простая форма входа в систему, которая отлично работает с большинством пользователей, но по некоторым причинам есть несколько пользователей, которые получают 400 (Bad Request) при попытке входа в систему.Нет ничего особенного в именах пользователей, которые они используют, например: наличие специальных символов, специальных слов и т. Д.
Я уже несколько раз пытался изменить формат данных или использовать JSON.stringify () имени пользователя и пароля, но, в конце концов, не только проблемные пользователи не могут войти, но и все остальные.
$('#submit').click(function() {
username = $('#username').val();
password = $('#password').val();
$.ajax({
type: 'POST',
url: '/auth/signin',
data: 'username=' + username + '&password=' + password,
success: function(json) {
location.reload(true);
},
error: function (xhr, ajaxOptions, thrownError) {
$('#login-error').html('Invalid username/password');
}
});
return false;
});
Даже если я пытаюсь увидеть thrownError, он только дает мне «ошибку»
jquery.js: 4 POST http://website/auth/signin 400 (неверный запрос)
send @ jquery.js: 4
ajax @ jquery.js: 4
(анонимно) @ login.js: 39
dispatch @ jquery.js: 3
r.handle @ jquery.js: 3
Плохой запрос
ошибка
jQuery v1.11.1
Как я могу увидеть исполняемый файл POST, потому что даже во вкладке netwrok chrome inspect ничего не зарегистрировано?Как можно работать с одними данными (user / pass - они действительны), но не с другими, только с другой последовательностью символов?
Использование encodeURIComponent для user / pass решило эту проблемупроблема
Дополнительная информация, благодаря Андреасу:
Нужно ли кодировать данные поста ajax в URI?