Передача переменной из JS в PHP
Здравствуйте, ради Бога простите если вопрос дилетантский. Такой вопрос: есть переменная JS, как её передать php - скрипту методом POST? Пока нашёл только способ передать через GET, но в данном случае мне не хотелось бы, чтобы URL светился. Затем планируется переход на PHP - скрипт (скрипт уже написал) и обработка в нём полученного значения.
|
читайте про ajax. так можно через post
|
Ну, вообще - то я пробовал через AJAX, но что - то никак не выходит. Вот сейчас снова попробовал написать так (используя JQuery):
<div id="checker" onclick="javascript: $.post('c5-2.php', {angle: 'aaa'}, function(data) { alert('Data Loaded: '+data); } );" ></div> Дак в результате выдаётся текст php - скрипта. А мне бы просто, чтобы он выдал итоге некую ссылку или текстовое сообщение, смотря какое значение переменной angle ему послали. |
все сделали правильно, только обработчик не так назначайте (через скрипт, а не через html)
|
О, спасибо, я попробую в течение дня:)
|
Цитата:
$(document).ready(function()//Когда документ загружен { document.getElementById('checker').onclick=check;//Обработчик события "клик" для кнопки "Проверить" - вызываем функцию check() } ); function check() { $.ajax({ type: "POST", url: "c5-2.php", data: "angle=John", success: function(msg){ alert( "Data Saved: " + msg ); } }); } Всё - равно по клику выходит текст скрипта php:cray: Может быть, в PHP - что - то не так? Там такой скрипт (я до конца не уверен, что это верно): <? if($_REQUEST["angle"]==0) { echo "Верно"; } else { echo "Неверно"; } ?> |
попробуйте вначале заменить
<? на <?php |
Попробовал - то же самое. В принципе, до этого php писал, так, как у меня тоже работало, да и обработчик тоже...
|
php не работает - это факт. разберитесь с этим )
|
Ну да... может, этот конкретно с этим скриптом php что - то не так, буду пробовать...
|
Я же вчера не совсем верно, оказывается, выразился: - сам php - код не показывается в алерте. Просто выходил ещё html, который там был (а php был заключён в него). В общем, я оставил только php теперь. Но сейчас в алерте всегда вылезает "Верно", даже если angle не равно нулю. Пробовал написать:
<?php echo $REQUEST["angle"]; ?>, так теперь вылезает пустой алерт( Может быть, формат данных, что я посылаю серверу и обратно, не совсем кому - то из них понятен? |
После вывода в php пропишите die(); У вас видимо скрипт дальше выполняется
|
Попробовал поставить die(); после echo - то же самое.
|
Ура заработало после того как php стал таким:
<?php header("Content-type: text/html; charset=utf-8"); echo $_REQUEST['angle']; ?> А ещё не подскажете, я когда пишу: $.ajax({ type: 'POST', url: 'c5-2.php', data: 'angle=0', success: function(msg){ alert( 'Данные переданы серверу! ' + msg ); } });", то параметру angle я задаю значение 0 пока, а вообще нужно, чтобы он был равен js - переменной angle, как на неё грамотно сослаться? |
А, понял:
$.ajax({ type: 'POST', url: 'c5-2.php', data: 'angle='+angle, success: function(msg){ alert( 'Данные переданы серверу! ' + msg ); } });":dance: |
в php надо писать
switch ($_POST['angle']) { case 'значение': набор команд break; } |
Часовой пояс GMT +3, время: 04:03. |