Вход

Просмотр полной версии : Как передать аяксом хтмл тэги с рус текстом и разными знаками


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

ksa
31.08.2016, 08:56
Как передать аяксом хтмл тэги с рус текстом и разными знаками
Пример передачи покажи...

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

Стартовый файл
<!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
wet, encodeURIComponent там не нужен... внутри jquery объект data итак пропускается через encodeURIComponent...
может и не нужен, но по крайней мере с ним все отлично передает

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

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

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

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