Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.07.2011, 17:26
Интересующийся
Отправить личное сообщение для Krugly Посмотреть профиль Найти все сообщения от Krugly
 
Регистрация: 14.02.2011
Сообщений: 14

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

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

P.S. Можно конечно использовать ф-ю jQuery.ajax, но и она не идеальна - там такая же проблема, но с амперсандами...
Ответить с цитированием
  #2 (permalink)  
Старый 21.07.2011, 17:37
Аспирант
Отправить личное сообщение для lalala Посмотреть профиль Найти все сообщения от lalala
 
Регистрация: 04.03.2011
Сообщений: 87

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

я так понимаю, что вы используете такую форму передачи?
Ответить с цитированием
  #3 (permalink)  
Старый 21.07.2011, 18:01
Интересующийся
Отправить личное сообщение для Krugly Посмотреть профиль Найти все сообщения от Krugly
 
Регистрация: 14.02.2011
Сообщений: 14

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

Кстати, от Вашего кода отличается тем, что название переменной я передаю не в кавычках... Может ли это как-то влиять на мою проблему, не знаю даже...
Ответить с цитированием
  #4 (permalink)  
Старый 21.07.2011, 18:03
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Все работает
Ответить с цитированием
  #5 (permalink)  
Старый 21.07.2011, 18:04
Интересующийся
Отправить личное сообщение для Krugly Посмотреть профиль Найти все сообщения от Krugly
 
Регистрация: 14.02.2011
Сообщений: 14

Хм... Сейчас начинаю вроде понимать...
Вышеупомянутую переменную str я получаю путём:
$('select #blabla').val();
(select на страничке имеет аттрибут multiple)
Соответственно, в данном случае:
str = xx,xx,xx;
а не
str = "xx,xx,xx";
т.е. может быт ьпроблема в типе переменной?
Ответить с цитированием
  #6 (permalink)  
Старый 21.07.2011, 18:37
Аспирант
Отправить личное сообщение для lalala Посмотреть профиль Найти все сообщения от lalala
 
Регистрация: 04.03.2011
Сообщений: 87

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

если передавать так, то я не знаю даже как вы к ней обращаетесь
возможно, попробуйте добавить кавычки для названия
Ответить с цитированием
  #7 (permalink)  
Старый 21.07.2011, 18:46
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Если select multiple, то val вернет массив. Проверь, если передается массив, то соответственно следует сделать join(',')
Ответить с цитированием
  #8 (permalink)  
Старый 21.07.2011, 21:23
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

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

т.е. не
Код:
str=1,2,3,4
а
Код:
str[]=1&str[]=2&str[]=3&str[]=4
тогда должно нормально передаваться
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery.post формирование данных Guerra AJAX и COMET 3 21.07.2011 22:35
jquery.post, что то с кодировкой. qwermjk Общие вопросы Javascript 4 07.06.2011 10:38
jQuery.post - передача файла. qwermjk Общие вопросы Javascript 3 05.12.2010 21:27
удалить запятые lammeR Общие вопросы Javascript 2 08.03.2010 22:22