21.07.2011, 17:26
|
Интересующийся
|
|
Регистрация: 14.02.2011
Сообщений: 14
|
|
Jquery.post и запятые
Всем доброго времени суток!
У меня есть такая проблема:
Использую функцию jQuery.post, на сторону сервера передаю несколько параметров, причём один из параметров имеет такую структуру:
ХХ, ХХ, ХХ ... и т.д., т.е. идёт перечисление чисел через запятую. На сервер вышеупомянутый параметр приходит только с первым числом (до первой запятой), остальных нет... Понимаю, что можно заменять на стороне браузера запятые на какие-то наборы символов, а на стороне сервера эти наборы обратно заменять запятыми. Но как-то это некрасиво выглядит... Кто-то может подсказать мне более элегантное решение или может быть я что-то не так делаю???
Заранее спасибо!
P.S. Можно конечно использовать ф-ю jQuery.ajax, но и она не идеальна - там такая же проблема, но с амперсандами...
|
|
21.07.2011, 17:37
|
Аспирант
|
|
Регистрация: 04.03.2011
Сообщений: 87
|
|
{
"a":"xx,xxx,xx,xx.."
}
я так понимаю, что вы используете такую форму передачи?
|
|
21.07.2011, 18:01
|
Интересующийся
|
|
Регистрация: 14.02.2011
Сообщений: 14
|
|
Да, именно такую. Только в виде переменной:
var str = "xx,xxx,xx";
....
{
str: str
}
Кстати, от Вашего кода отличается тем, что название переменной я передаю не в кавычках... Может ли это как-то влиять на мою проблему, не знаю даже...
|
|
21.07.2011, 18:03
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
Все работает
|
|
21.07.2011, 18:04
|
Интересующийся
|
|
Регистрация: 14.02.2011
Сообщений: 14
|
|
Хм... Сейчас начинаю вроде понимать...
Вышеупомянутую переменную str я получаю путём:
$('select #blabla').val();
(select на страничке имеет аттрибут multiple)
Соответственно, в данном случае:
str = xx,xx,xx;
а не
str = "xx,xx,xx";
т.е. может быт ьпроблема в типе переменной?
|
|
21.07.2011, 18:37
|
Аспирант
|
|
Регистрация: 04.03.2011
Сообщений: 87
|
|
var str = "xx,xxx,xx";
....
{
str: str
}
если передавать так, то я не знаю даже как вы к ней обращаетесь
возможно, попробуйте добавить кавычки для названия
|
|
21.07.2011, 18:46
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
Если select multiple, то val вернет массив. Проверь, если передается массив, то соответственно следует сделать join(',')
|
|
21.07.2011, 21:23
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
собирайте по другому, как обычно..
т.е. не
а
Код:
|
str[]=1&str[]=2&str[]=3&str[]=4 |
тогда должно нормально передаваться
|
|
|
|