Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Отправка и получение данных без обновления страницы (https://javascript.ru/forum/misc/49763-otpravka-i-poluchenie-dannykh-bez-obnovleniya-stranicy.html)

h0ck 27.08.2014 16:14

Отправка и получение данных без обновления страницы
 
Есть file1.php и 3 переменных: $ip $port $number
Есть file2.php который должен получить 3 переменных, и отправить назад переменную $filename
Как это реализовать на аяксе? п.с. раньше не сталкивался с этим, поетому если можно то дайте более детальную информацию... п.п.с. второй день бьюсь головой о стену

h0ck 27.08.2014 18:13

Есть страница, с новостью. В которой вот такой вот код:
<script type="text/javascript" src="http://qwas.sa/qw/radio/swfobject.js"></script>
<div id="energy2">Установите<a href = http://get.adobe.com/flashplayer/>Flash player</a>
</div>
<script type="text/javascript">
   var so = new SWFObject("http://qwas.sa/qw/radio/energy2.swf", "pl1", "180", "75", "8");
   so.addParam("menu", "true");
   so.addParam("wmode", "transparent");
   so.addParam("allowScriptAccess", "sameDomain");
   so.addParam("FlashVars", "filename=<? echo $filename;?>");
so.write("energy2");
</script>

Как вы могли увидеть посреди кода есть такая строчка
<? echo $filename;?>

Мне нужно с этой страницы отправить запрос на страницу php и в запросе указать айпи, порт и номер радиостанции, а взамен получить переменную $filename в которой хранится полная инфо о станции тоесть (трэк, сколько слушателей, макс кол слушателей и т.д.)

h0ck 28.08.2014 11:01

// Отсылаем паметры
$.ajax({
type: "POST",
url: "SendData.php",
data: "ip=192.168.1.1&port=8000&number=22",
// Выводим то что вернул PHP
success: function(html) {
//предварительно очищаем нужный элемент страницы
$("#result").empty();
//и выводим ответ php скрипта
$("#result").append(html);
}
});
Как результат поместить в php переменную $result???
Я в аяксе полный ноль.

Гробовщик 28.08.2014 14:34

В файле SendData.php делаешь запрос (только один по-моему можно) и echo выводишь.

h0ck 28.08.2014 16:03

// Отсылаем паметры
       $.ajax({
                type: "POST",
                url: "SendData.php",
                data: "ip=192.168.1.1&port=8000&number=22",
                // Выводим то что вернул PHP
                success: function(msg){
				alert($number);} 
				//function(html) {
 //предварительно очищаем нужный элемент страницы
                  //      $("#result").empty();
//и выводим ответ php скрипта
                    //    $("#result").append(html);
                //}
        });

<?php
//Получаем данные
$ip = $_POST[ip];
$port = $_POST[port];
$number = $_POST[number];
//Так как все данные приходят в кодировке UTF при необходимости
//их можно/нужно конвертировать в нужную, но мы этого делать не будем

//$data = iconv("utf-8", "windows-1251", $data);

/*
тут можно делать все что угодно с полученными данными, а мы их просто выведем на печать.
*/

echo "А вот то что мы отправили<br>".'http://'.$ip.':'.$port.'/'.$number;

?>


мне нужно чтобы echo с выполненого пхп кода выводилось не в страницу!!!! а в переменную пхп

h0ck 28.08.2014 16:56

// Отсылаем паметры
       $.ajax({
                type: "POST",
                url: "SendData.php",
                data: "ip=192.168.1.1&port=8000&number=22",
                dataType: "text",
				// Выводим то что вернул PHP
                success: function(html) {
 //предварительно очищаем нужный элемент страницы
                      $("#result").empty();
//и выводим ответ php скрипта
					//alert($(document.getElementById("#result")));
					$("#result").append(html);
					var zzz = $("#result");
					alert(zzz);
                }
        });

Как зделать что б zzz выводило не null а то что нужно?

BETEPAH 28.08.2014 22:50

h0ck,
алерт не умеет выводить объекты. А в строке 14 вы получаете именно объект jQ. Замените alert на console.log и смотрите в консоли


Часовой пояс GMT +3, время: 22:33.