В вызове AJAX я отправляю значения текстового поля как объект в метод страницы ASP.NET, как в примере ниже. Проблема я столкнулся в том, что, когда любое из значений TextBox содержит space
я получаю ошибку:Клиент отправил неверный заголовок Host в вызове AJAX
Bad Request
Your browser sent a request that this server could not understand.Client sent malformed Host header
Хотя я использую data: JSON.stringify(obj)
запрос терпит неудачу почти 90% всех попыток. Но когда все значения текстового поля без space
, запрос завершается каждый раз. Попытка понять это, но неспособная поймать проблему.
var obj = {};
obj.CapCode = $.trim($('#CapTextBox').val());
obj.Registered_Name = $.trim($('#Registered_NameTextBox').val()).replace(/\s\s+/g, ' ');
obj.eMail = $.trim($('#e_MailTextBox').val());
$.ajax({
type: "POST",
url: 'Register.aspx/SaveRecord',
data: JSON.stringify(obj),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (resultData) {
try {
$("#User_modal").modal();
}
catch (err) {
alert('ERROR:\n An error occurred while getting records. Try again.');
}
},
error: function (x, e, m) {
errorHandler(x, e, m, $("#btnSave"), false);
},
});
Приведенный выше код работает без каких-либо проблем в системе развития, но и на производстве дает эту ошибку
Вы оценили это один из? – dmeu
Нет, я проверил почти все, интерфейсные, back-end, серверные журналы, загрузку страницы и т. Д., Но без решения. Я сомневаюсь, что это может быть вызвано некоторым плагином jquery/bootstrap, используемым в шаблоне. Просто для теста я удалил все шаблоны css, js-файлы и ajax и попытался сохранить запись на сервере, которая была успешной. – haraman
Я закончил замену '+' пробелом и наоборот на стороне сервера – dmeu