2016-09-05 2 views
0

Мне нужно отправить php с другой страницы php обратно в индекс одновременно. Я использую $ _SESSION, но он показывает результат только после обновления страницы. В индексе я получаю значения от входов, отправляющих их через кнопку onClick action myAjax().Немедленная передача переменной php между страницами

function myAjax() { 
var range = document.getElementById('range').value; 
var port = document.getElementById('port').value; 
$.ajax({ 
    type: "POST", 
    url: 'nova2.php', 
    data:{action:'call_this',range:range,port:port}, 
    success:function(html) { 
    // alert(html); 
    } 
}); 
} 

в nova2.php, где я запрос на базу данных и получать массив, который я хочу, чтобы отправить обратно в index.php

while ($row = $query2->fetch_assoc()) { 
    $port_list[] = $row['port_name']; 

} 

$_SESSION["var_name"] = $port_list; 
mysqli_close($con); 

Я поставил почти такой же АЯКС сценарий в рамках этой функции PHP (из курс без сеанса), но он не работал. Я не получил значения в index.php

type: "POST", 
url: 'index.php', 
data:{action:'action',port_list:port_list}, 

Есть ли другой способ? Спасибо

+0

Ваш вопрос немного неясен для меня. Что именно вы хотите? Вы просто хотите, чтобы массив возвращался в индексный файл? – icecub

+0

да..Я хочу получить массив для индекса – Burco

+1

Итак, эхо-эхо? 'success: function (html)' означает 'html' содержит все, что php-код echos – icecub

ответ

0

Если вам нужно значение SESSION на той же странице, где вы запросили AJAX на nova2.php.

в nova2.php

while ($row = $query2->fetch_assoc()) { 
    $port_list[] = $row['port_name']; 

} 

$_SESSION["var_name"] = $port_list; 
mysqli_close($con); 
echo json_encode(array('port_list'=>$port_list)); 

В функции AJAX

function myAjax() { 
var range = document.getElementById('range').value; 
var port = document.getElementById('port').value; 
$.ajax({ 
    type: "POST", 
    url: 'nova2.php', 
    dataType: 'json', 
    async: false, 
    data:{action:'call_this',range:range,port:port}, 
    success:function(data) { 
    port=data.port_list; 
    } 
}); 
} 

Я надеюсь, что это должна быть работа. Спасибо

+0

Нет. Мне не нужно использовать сеанс. Это также дает мне результаты только после обновления страницы. Но спасибо ;) – Burco

Смежные вопросы