Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как передать аяксом хтмл тэги с рус текстом и разными знаками (https://javascript.ru/forum/jquery/64707-kak-peredat-ayaksom-khtml-tehgi-s-rus-tekstom-i-raznymi-znakami.html)

wet 31.08.2016 07:30

Как передать аяксом хтмл тэги с рус текстом и разными знаками
 
К примеру есть хтмл
var html = '<p>Рус текст со знаками "-!". Далее некий текст</p>';
Нужно аяксом передать значение переменной "html" пхп скрипту не удаляя абсолютно ничего. Пытался передать объектом
var data = {html: html};
Но все равно передается все только до знака -. Что идет после знака - не передается. Также пытался JSON'ом передать, но такая же проблема. Кто нить подскажите как это реализовать.

ksa 31.08.2016 08:56

Цитата:

Сообщение от wet
Как передать аяксом хтмл тэги с рус текстом и разными знаками

Пример передачи покажи...

У меня все передается полностью

Стартовый файл
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	var html = '<p>Рус текст со знаками "-!". Далее некий текст</p>';
	$.post(
		"tmp1.csp", 
		{ test: html },
		function(Data){
			alert("Data Loaded: " + Data);
		}
	);
});
</script>
</head>
<body>
</body>
</html>

Принимающий файл
#($g(%request.Data("test",1),"Нет данных..."))#

рони 31.08.2016 09:11

ksa,
а почему кодировка не utf-8?

wet 31.08.2016 09:11

Уже решил проблемку с помощью encodeURIComponent. Спасибо за помощь!

wet 31.08.2016 10:18

Цитата:

Сообщение от Rise (Сообщение 427179)
wet, encodeURIComponent там не нужен... внутри jquery объект data итак пропускается через encodeURIComponent...

может и не нужен, но по крайней мере с ним все отлично передает

wet 31.08.2016 11:45

Цитата:

Сообщение от Rise (Сообщение 427185)
wet, то что ты искусственно увеличил исходящий трафик почти в 2 раза не есть отлично...
alert(encodeURIComponent('текст').length + ' vs ' + encodeURIComponent(encodeURIComponent('текст')).length)

согласен, как нить гляну в чем проблема, сейчас просто уйма задач висит, нету времени. спасибо за помощь

ksa 31.08.2016 11:47

Цитата:

Сообщение от рони
а почему кодировка не utf-8?

Это просто пример и не более того. Т.ч. не обязан быть в кодировке utf-8. :D

В моем случае сама СУБД, в рамках которой все работает, не юникодная...


Часовой пояс GMT +3, время: 12:00.