Я видел некоторые ответы на этот вопрос в предыдущих сообщениях, но никто не дал реального рабочего примера, просто кода psuedo. Кто-нибудь когда-либо делал это раньше?
В принципе, у меня есть переменная в javascript (jquery), и я хочу использовать эту переменную для запроса запроса (для окна оверлея), я собираюсь запустить php.
Из того, что я прочитал, вы можете сделать это, используя вызов ajax на той же странице, чтобы он не обновлялся, но я должен что-то пропускать, потому что я не могу заставить его работать …
Есть ли какие-нибудь примеры?
Благодарю.
ОБНОВЛЕНИЕ 6/21/2010: Хорошо, я пытался работать, но все еще имею некоторые проблемы … вот что у меня есть. Страница, над которой я работаю в edit_1.php. На основе консоли Firebug страница (edit_1.php) получает правильный «editadid».
Когда я пытаюсь повторить это, я получаю ошибку «Неопределенная переменная», хотя … что-нибудь, что вы видите, я пропустил здесь?
Вот javascript:
var jsVariable1 = $(this).parent().attr('id'); var dataString = 'editadid=' + jsVariable1; $.ajax({ url: 'edit_1.php', type: 'get', data: dataString, beforeSend: function() { }, success: function (response) { } });
Вот мой php: if (isset ($ _ GET ['editadid'])) {$ editadid = (int) $ _ GET ['editadid'];
}
echo $ editadid;
Трудно помочь, не видя код, который вы используете в настоящее время.
В jQuery:
var jsVariable1 = "Fish"; var jsVariable2 = "Boat"; jQuery.ajax({ url: '/yourFile.php', type: 'get', data: { var1: jsVariable1, var2: jsVariable2 }, success: function (response) { $('#foo').html(response); } });
Тогда ваш PHP:
<?php $jsVariable1 = $_GET['var1']; $jsVariable2 = $_GET['var2']; // do whatever you need to do; ?> <h1><?php echo $jsVariable1; ?></h1> <p><?php echo $jsVariable2; ?></p>
Это довольно общий … но все будет хорошо.
Важно отметить, что очень распространенная ошибка заключается в том, что любые дополнения, которые вы вносите в DOM в результате запроса AJAX (т. Е. В этом примере я добавил h1
и p
тег для DOM), не будет есть связанные с ними обработчики событий, которые вы связали в своем $(document).ready(...);
, если вы не используете jQuery в режиме live
и delegate
.
Я бы сказал, вместо того, чтобы искать пример, вы должны понимать, как работает ajax. Как вы можете удалять URL-адрес с помощью параметров ajax и pass query вместе с ними (это могут быть переменные javascript, которые вы ищете). Ответ на серверный ответ записывается в javascript и используется для управления существующей страницей dom. Или Гораздо лучше вы можете опубликовать то, что вы пробовали, и кто-то может исправить его для вас.