|
|
|
| Как передать сразу два значения на сервер через AJAX??? | |
|
|
|
|
|
|
|
для: Bubba
(22.10.2009 в 00:00)
| | Точно так же как и три значения.
И точно так же, как и четыре значения.
И так далее...
Например, методом get вы можете передать в query_string не только одно значение ?мама, но и ?мама_мыла_раму - а это уже три значения в виде одной строки. Программа на PHP вполне может разобрать переданное по установленным вами правилам и получить из одной строки столько значений, сколько вам угодно (нужно). | |
|
|
|
|
|
|
|
для: АЯ
(22.10.2009 в 00:52)
| | ?f1=мама&f2=мыла&f3=раму | |
|
|
|
|
|
|
|
для: АЯ
(22.10.2009 в 00:52)
| | >?мама_мыла_раму - а это уже три значения в виде одной строки. Программа на PHP вполне может разобрать переданное по установленным вами правилам и получить из одной строки столько значений, сколько вам угодно (нужно).
кстати а есть ли смысл? ну я имею ввиду что мне ближе то что написала elenaki | |
|
|
|
|
|
|
|
для: psychomc
(22.10.2009 в 10:13)
| | >"я имею ввиду что мне ближе то что написала elenaki"
elenaki ПО СУТИ написала то же самое, что и я.
Для примера я использовал одни ПРАВИЛА - "строка, где параметры разделены символом подчёркивания", elenaki использовала ДРУГИЕ правила - "строка, аналогичная строке, кою создаёт сабмит формы".
Вы можете выбрать любое из них.
Можете также придумать СВОИ собственные правила. Например - ?мамаМЛЯмылаМЛЯраму
[поправлено модератором] | |
|
|
|
|
|
|
|
для: АЯ
(22.10.2009 в 14:53)
| | мужчина : )да понял я на счет правил. имелось ввиду оправдана ли доп. нагрузка на сервер в виде разбора строки
обидно что порой некоторые сообщения модерируются | |
|
|
|
|
|
|
|
для: psychomc
(23.10.2009 в 10:20)
| | обижаться незачем, надо просто задуматься.
----
скажу по другому:
нагрузка мизерна, и использование подобного вида урлов множество, например ЧПУ (Человеку Понятные Урлы)
но в данном случае вполне хватит и стандартного метода, GET-параметры еще никто не отменял. | |
|
|
|
|
|
|
|
для: Crux
(23.10.2009 в 13:13)
| | >"в данном случае вполне хватит и стандартного метода, GET-параметры еще никто не отменял."
Строка, передаваемая методом GET при сабмите, формируется браузером АВТОМАТИЧЕСКИ.
Строку, передаваемую методом GET по технологии AJAX, формирует ваш скрипт.
Вы полагаете, что все скриптовые решения ДОЛЖНЫ обязательно копировать похожие браузерные? И только тогда это будет стандартно?
Т.е. всегда надо делать так, как бы делал робот, даже если в этом нет необходимости?
Тогда единственно правильным танцевальным стилем будет являться брейк-данс!
Я не хотел бы жить в мире, где "Вальс и танго - отстой!" и только "Брейк-данс форева!" :-)) | |
|
|
|
|
|
|
|
для: АЯ
(23.10.2009 в 18:47)
| | >Вы полагаете, что все скриптовые решения ДОЛЖНЫ обязательно копировать похожие браузерные? И только тогда это будет стандартно?
ха-ха-ха
нет, конечно я так не полагаю, это Вы уже на меня наговариваете.
есть стандарты, котрые можно придерживаться, а можно и нет, решайте сами как вам быть.
но иногда такие придумывание превращается в "выдумывание велосипеда" | |
|
|
|
|
|
|
|
для: Crux
(24.10.2009 в 05:17)
| | >"есть стандарты, котрые можно придерживаться, а можно и нет"
В каком месте какого стандарта указано, что передача данных от браузера к серверу должна обязательно происходить по схеме ?name=value[&name=value...] ?
Нет такого стандарта.
Есть люди, мыслящие нестандартно.
И есть немыслящие, которым для всего требуется "плётка" ("руководство сверху").
Если такой "плётки" (такого "руководства") нет, то они сами с удовольствием её (его) выдумывают.
Или берут первое похожее.
И потом не только сами себя этой "плёткой" секут - они и других призывают быть мазохистами.
---
Смотрите пример - http://codecenter.awardspace.com/selects.html
Если действовать "по стандарту", то строку
htReq.open ('get', 'req.php?' + encodeURIComponent (x.options [x.selectedIndex].value));
| обязательно надо переписать в виде
htReq.open ('get', 'req.php?name1=' + encodeURIComponent (x.options [x.selectedIndex].value));
|
А зачем?
Чтобы потом в PHP-коде вводить дополнительное сплитование $_SERVER['QUERY_STRING']?
Да, в примере передается всего один параметр.
Но в каком "стандарте" предписывается, что следовать методике формирования GET-запроса надо, начиная с передачи двух и более параметров?
Ответ - ни в каких "стандартах" этого нет.
Это есть только в лобной части мозга некоторых товарищей.
Тех самых товарищей, у которых эта лобная часть узка. | |
|
|
|
|
|
|
|
для: АЯ
(24.10.2009 в 05:55)
| | >Есть люди, мыслящие нестандартно.
99% этих нестандартно мыслящих людей пишут откровенную лажу, которую потом приходится разгребать.
по поводу примера:
1 я не знаю о каком "дополнительное сплитование $_SERVER['QUERY_STRING']" говорится, я бы просто сделал $q_str =$_GET['name1'] (есть такая переменная, если кто не знает)
2 пример сам по себе скуден чтоб что-то тут говорить и если в форму добавить еще одно поле, то $_SERVER['QUERY_STRING'] тут вообще не уместен.
3 если говорить о стандартах, советую почитать о JSON (JavaScript Object Notation) - это поможет сократить JS-код для разгребания ответа (хотя, кому я это говорю)
по поводу: "мазохизма", "сами себя этой "плёткой" секут"
тут я не в теме, мне это не знакомо, обратитесь к профессионалам, раз это причиняет беспокойство.
по поводу лобной части, так это вообще попахивает сопливым детским садом.
PS как писать код, это личное дело каждого, но при этом нет смысла расхваливать гавно, выдавая его за нестандартное решение, которое родил непостижимые никому нестандартный умище. | |
|
|
|
|
|
|
|
для: Crux
(25.10.2009 в 13:20)
| | >"пример сам по себе скуден чтоб что-то тут говорить и если в форму добавить еще одно поле, то $_SERVER['QUERY_STRING'] тут вообще не уместен"
А где в примере форма?
До чего же "замыленный" взгляд на вещи - видеть форму там, где её нет и никогда не было.
---
>"если говорить о стандартах, советую почитать о JSON (JavaScript Object Notation)"
Спасибо за совет, не надо.
Если кто-то полагает Дугласа Крокфорда "родителем стандартов", то это его личная проблема.
---
>"по поводу: "мазохизма", "сами себя этой "плёткой" секут"
тут я не в теме, мне это не знакомо, обратитесь к профессионалам, раз это причиняет беспокойство."
Ошибаетесь.
Именно вам это очень знакомо - вы этим живёте.
Потому и не замечаете.
Потому вам это и "не причиняет беспокойства".
В общем и целом - вы просто не понимаете сути взаимодействия браузера и сервера по технологии AJAX. Единственно вам понятное - это взаимодействие браузера и сервера при сабмите формы. Вот вы под это "понимаемое" всё остальное и подгоняете.
Не переживайте. Даже лорд Кельвин (автор второго начала термодинамики) в своё время писал, что всё, что он смог представить в виде механической модели, было ему понятно, а что не смог - то так и не понял до конца своих дней. | |
|
|
|
|
|
|
|
для: Crux
(25.10.2009 в 13:20)
| | >PS как писать код, это личное дело каждого, но при этом нет смысла расхваливать гавно, выдавая его за нестандартное решение, которое родил непостижимые никому нестандартный умище.
Подпишусь, и пожалуй, добавлю, что личным делом оно остается лишь до того момента, пока этот код держит в руках один человек. А дальше подобное оправдание уже не прокатывает никак. | |
|
|
|
|
|
|
|
|
для: АЯ
(26.10.2009 в 00:43)
| | Вариант f1=мама&f2=мыла&f3=раму более предпочтителен чем вариант ?мама_мыла_раму
т.к в первом случае мы сразу получим три переменные,а во втором получим одну переменную ,затем опять напрягём php, чтобы убрать разделитель и преобразовать эту переменную в три... | |
|
|
|
|
|
|
|
для: serjinio
(26.10.2009 в 01:41)
| | Если вам в PHP нужны именно три переменные (с разными именами), то тогда форма f1=мама&f2=мыла&f3=раму предпочтительнее.
А если в PHP нужен массив из трёх членов (т.е. три переменные с одним именем)?
Тогда предпочтительнее будет иметь именно какой-то разделитель. Сплитование по нему даст именно массив.
ПРАВИЛА, по которым передаются данные от браузера к серверу, вполне можно подстраивать под нужную задачу. А можно тупо следовать шаблону, как призывают здесь узколобые.
В том- то и цимус. | |
|
|
|
|
|
|
|
для: АЯ
(26.10.2009 в 01:49)
| | >Если вам в PHP нужны именно три переменные (с разными именами), то тогда форма f1=мама&f2=мыла&f3=раму предпочтительнее.
>
>А если в PHP нужен массив из трёх членов (т.е. три переменные с одним именем)?
f[]=%EC%E0%EC%E0&f[]=%EC%FB%EB%E0&f[]=%F0%E0%EC%F3
И таки да. Дилетант будет придумывать свои правила, резать по разделителю, в результате чего передать этот самый разделитель в одном из элементов станет поблемой, из за которой он получит как минимум луч анального поноса от последующих разработчиков. В худшем - будет выкинут из команды.
За сим прощаюсь. Вот уж перед кем бисер метать нет ни желания ни смысла. | |
|
|
|
|
|
|
|
для: Trianon
(26.10.2009 в 02:17)
| | >"В худшем - будет выкинут из команды"
Программирование - процесс творческий.
Подгонять этот процесс "под команду" - удел неудачников.
Для которых главное - "зато в команде".
Да здравствует ширпотреб! :-) | |
|
|
|
|
|
|
|
для: Trianon
(26.10.2009 в 02:17)
| | :)) | |
|
|
|
|
|
|
|
для: Bubba
(22.10.2009 в 00:00)
| | и если эти параметры добавляет пользователь, было бы хорошо прогнать их через encodeURIComponent и отправить соответствующий заголовок | |
|
|
|