Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.03.2018, 13:43
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Кодировка на ajax
Есть скрипт отправляющий данные формы:
jQuery(document).ready(function(){
	jQuery('body').on('click', '#save-profile', function() {
		var str = jQuery('#profileform').serialize();
		alert(str);
		jQuery.ajax({
			url: url,
			type: 'POST',
			cache: false,
			data: {
				action : 'update',
				str: str,
			},
			success: function(data){
				jQuery('.response').html(data);
			}
		});
		return false;
	});
});

Соответственно в форму вводятся данные на кириллице. Alert str выводит: email=email%040gmail.com&name=%D0AF0FA%FA0
И в таком духе. Как это вылечить?
Ответить с цитированием
  #2 (permalink)  
Старый 05.03.2018, 13:46
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от Янковиц
Как это вылечить?
Это подойдет?
Декодировать url

var str='http://usefulscript.ru/search.php?text=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D1%81%D0%BF%D0%BE%D0%B9%D0%BB%D0%B5%D1%80%D0%B0&searchid=1876853&l10n=ru&web=0#1118';
alert(decodeURIComponent(str));

Последний раз редактировалось ksa, 05.03.2018 в 13:50.
Ответить с цитированием
  #3 (permalink)  
Старый 05.03.2018, 13:51
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Кириллицу нормально декодирует decodeURI, но значек @ остается крякозябрами
Ответить с цитированием
  #4 (permalink)  
Старый 05.03.2018, 13:55
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Янковиц,
а вас что это должно беспокоить? Сервер автоматически декодирует данные согласно переданным, которые по умолчанию application/x-www-form-urlencoded. И Ajax работает в UTF.
Ответить с цитированием
  #5 (permalink)  
Старый 05.03.2018, 13:58
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Дело в том, что на стороне php у меня не проходит валидация
Ответить с цитированием
  #6 (permalink)  
Старый 05.03.2018, 14:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Значит косяки на сервере, клиент тут причем?

Последний раз редактировалось laimas, 05.03.2018 в 14:32.
Ответить с цитированием
  #7 (permalink)  
Старый 05.03.2018, 14:15
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Да, все уже разобрался. Спасибо всем!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка при выводе данных (ajax) Эдди AJAX и COMET 11 30.08.2015 19:29
Кодировка в AJAX из ИЕ Liv AJAX и COMET 10 23.03.2012 16:47
Много раз поднимался вопрос... Кодировка AJAX запроса sano45 AJAX и COMET 3 17.08.2011 22:27
Не та кодировка при изменении элементов DOM, загружаемых через ajax ShootNik Серверные языки и технологии 16 14.10.2010 09:55
Кодировка при использовании Ajax Nichloas AJAX и COMET 9 17.09.2009 16:06