Помогите найти способ отправить переменную в скрипт

A.B.C.

Новичок
Здравствуете, помогите справиться. Смысл задачи в том, чтоб отправить переменную в php скрипт через js (по другому просто не вижу способа)

смысл такой вот эти скрипты у меня подключаются:

<SCRIPT type="text/javascript">
function lookup(inputString) {
if(inputString.length == 0) {
// Hide the suggestion box.
$('#suggestions').hide();
} else {
$.post("rpc.php", {queryString: ""+inputString+""}, function(data){
if(data.length >0) {
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
}
});
}
} // lookup

function fill(thisValue) {
$('#inputString').val(thisValue);
setTimeout("$('#suggestions').hide();", 200);
}
</SCRIPT>


Как видите вот в этом месте подключается файл rpc.php где и происходит все действие.

вот например его упрощенное содержимое:

$val="ПРИМЕР";
echo '<li onClick="fill(\''.$val.'\');">'.$val.'</li>';


Вот здесь вся проблема! Как передать в скрипт переменную $val??? (вообще она массив, но это, я как понимаю не суть важно,если что отправлю строкой, а там разобью)

Пробывал $_SESSION['val'], но в скрипт она приходит пустой!!!

может в этом месте $.post("rpc.php", {queryString: ""+inputString+""}, можно как то отправить внутрь переменную??? Типа как наподобии ПХП пользовательских функций???

Друзья подскажите кто знает...

p/s/ передавать нужно будет именно $val, а не конкретно значение типа "пример 2" т.к. $val вытаскивается из БД и всегда разный
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
A.B.C.
Про переменные окружения читал? $_GET там и прочее?
 

A.B.C.

Новичок
c0dex
мне желательно POSTom отправить , к тому же вопрос еще и в том, как вставлять эту переменную value динамически!...т.е. где-нибудб выще скрипт сформировал value и уже потом вставить сюда в JS как то так..
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
судя по всему у тебя она валяется в $_POST['queryString'], но полностью воспринять твой поток сознания я не в силах
 

A.B.C.

Новичок
c0dex
Да...$_POST['queryString'] приходит в php обработчик...это вводимые в текстовое поле символы, но, как еще туда в PHP обработчик что-нибудь отправить кроме .$_POST['queryString']...напрмер $VAL..
чтоб на выходе было скажем: echo '<li onClick="fill(\''.$val.$_POST['queryString']\');">'.$val.$_POST['queryString']'</li>';
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
A.B.C.
ты понимаешь что такое параметры в ajax запросе? Ты же этот код откуда-то взял, но не понимаешь что он делает. Причем тут переменная $VAL? Если тебе нужно добавить в POST запрос параметр то и добавь его,

Код:
$.post("rpc.php", {queryString: ""+inputString+"", some_var: 'some_val'}, function(data){ ...
далее print_r($_POST); и смотреть в firebug что там тебе сервер вернул на твой запрос.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Нет, не мог бы. Я из принципа чужую работу не делаю, помочь объяснить что и где не так - могу. Кстати я тебе написал уже, как добавить параметр в запрос, они пишутся парами как ключ:значение, разделяются пары символом запятой. Данные будет доступны в массиве $_POST, с теми ключами, что ты укажешь в ключах. Ничего сложного.
 

A.B.C.

Новичок
c0dex
Я чисто из-за понятийного аппарата..не потому что не могу сделать и уж тем более на халяву. Ты написал выше, как отправить переменные, но их надо вписывать. а если формируется вот такая связка PHP->JS->PHP...Т.е. php сформировал переменную $message, всегда разная как ее вставить в функцию JS, чтоб затем JS переправил ее вместе с $_POST['queryString'] в обработчик PHP. И самое глпавное чтоб обработчик php ее понял, раскрыл у себя эту переменную $message. Я пробывал через $_SESSION, но она туда приходит пустая.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
A.B.C.
Пишешь до скрипта JS, что-то типа <?php $message='test'; ?>

Дальше в скрипте JS:

Код:
$.post("rpc.php", {queryString: ""+inputString+"", message: '<?php echo $message?>'}, function(data){ ...
В php, где принимаешься данные уже смотришь на $_POST['message']
 

A.B.C.

Новичок
c0dex
...а если переменная текстовый массив (без разделителя)?...чо та не могу раскрыть его, хотя пишет тип array и до передачи расскрывается..
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
A.B.C.
не бывает текстовых массивов, бывает текст и массивы. Как ты его передашь, так он у тебя и будет доступен. Пока слабо понял что значит раскрыть и как он раскрывается
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Если ты хочешь передавать данные вида PHP array() через JS, то их надо соответственно сериализовать в строку
 

A.B.C.

Новичок
c0dex
ВСЕ получилось!....Хочу сказать большое и искреннее вам спасибо. Я почти не знаю JS, но сроки горят и вы мне очень помогли!
 
Сверху