Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Jquery.post и запятые (https://javascript.ru/forum/jquery/18967-jquery-post-i-zapyatye.html)

Krugly 21.07.2011 17:26

Jquery.post и запятые
 
Всем доброго времени суток!
У меня есть такая проблема:
Использую функцию jQuery.post, на сторону сервера передаю несколько параметров, причём один из параметров имеет такую структуру:
ХХ, ХХ, ХХ ... и т.д., т.е. идёт перечисление чисел через запятую. На сервер вышеупомянутый параметр приходит только с первым числом (до первой запятой), остальных нет... Понимаю, что можно заменять на стороне браузера запятые на какие-то наборы символов, а на стороне сервера эти наборы обратно заменять запятыми. Но как-то это некрасиво выглядит... Кто-то может подсказать мне более элегантное решение или может быть я что-то не так делаю???

Заранее спасибо!

P.S. Можно конечно использовать ф-ю jQuery.ajax, но и она не идеальна - там такая же проблема, но с амперсандами...

lalala 21.07.2011 17:37

{
     "a":"xx,xxx,xx,xx.."
}

я так понимаю, что вы используете такую форму передачи?

Krugly 21.07.2011 18:01

Да, именно такую. Только в виде переменной:
var str = "xx,xxx,xx";
....
{
str: str
}

Кстати, от Вашего кода отличается тем, что название переменной я передаю не в кавычках... Может ли это как-то влиять на мою проблему, не знаю даже...

e1f 21.07.2011 18:03

Все работает

Krugly 21.07.2011 18:04

Хм... Сейчас начинаю вроде понимать...
Вышеупомянутую переменную str я получаю путём:
$('select #blabla').val();
(select на страничке имеет аттрибут multiple)
Соответственно, в данном случае:
str = xx,xx,xx;
а не
str = "xx,xx,xx";
т.е. может быт ьпроблема в типе переменной?

lalala 21.07.2011 18:37

var str = "xx,xxx,xx";
....
{
str: str
}

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

e1f 21.07.2011 18:46

Если select multiple, то val вернет массив. Проверь, если передается массив, то соответственно следует сделать join(',')

melky 21.07.2011 21:23

собирайте по другому, как обычно..

т.е. не
Код:

str=1,2,3,4
а
Код:

str[]=1&str[]=2&str[]=3&str[]=4
тогда должно нормально передаваться


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