2013-08-23 2 views
0
function runGetIperfSpeedAjax(speedVar, actualIp) { 
    var xmlhttp = getAjaxObject(); 
    xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      processIperfRequest(xmlhttp.responseText, speedVar); 
     } 
    } 
    xmlhttp.open('GET', 'lib/getIperfSpeed.php', true); 
    xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 
    xmlhttp.send(); 
} 

function processIperfRequest(response, speedVar) { 
    alert("proccess"); 
    document.getElementById(speedVar).style.display = 'none'; 
    document.getElementById('displaySpeedTest').style.display = 'block'; 
    document.getElementById('displaySpeedTest').innerHTML = response; 
} 

getAjaxObject() не входит, как это просто стандарт. Я делаю вызов onclick JavaScript, который вызывает runGetIperfSpeedAjax. Это все работает правильно, если я жестко устанавливаю IP в «lib/getIperfSpeed.php». Но я не могу передать actualIp в «lib/getIperfSpeed.php». Я попробовал 'lib/getIperfSpeed.php'+actualIp, чтобы попытаться передать его и получить к нему доступ через сообщение.Как отправить переменную Javascript/Ajax на страницу PHP с помощью AJAX

Вся помощь приветствуется.

+0

Почему бы не попробовать jquery-Ajax, намного проще –

+0

Правильно отформатируйте свой код, когда вы публикуете вопрос, он упрощает чтение и понимание (все пустое пространство на левой стороне было совершенно ненужным). Также, пожалуйста, покажите нам, как вы пытаетесь получить доступ к значению. В опубликованном вами коде вы даже не пытаетесь отправить какие-либо данные на сервер, так что, очевидно, вы не можете получить к нему доступ на стороне сервера. –

+0

Вы хотите использовать GET или POST? Возможно, http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp может помочь вам – Oriol

ответ

1

если вы хотите передать IP в качестве значения GET нужно добавить GET ключ

function runGetIperfSpeedAjax(speedVar, actualIp) { 
    var xmlhttp = getAjaxObject(); 
    xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      processIperfRequest(xmlhttp.responseText, speedVar); 
     } 
    } 
    xmlhttp.open('GET', 'lib/getIperfSpeed.php?ip='+actualIp, true); 
    // missing in your code '&ip='+actualIp 
    xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 
    xmlhttp.send(); 
} 

function processIperfRequest(response, speedVar) { 
    alert("proccess"); 
    document.getElementById(speedVar).style.display = 'none'; 
    document.getElementById('displaySpeedTest').style.display = 'block'; 
    document.getElementById('displaySpeedTest').innerHTML = response; 
} 

так в getIperfSpeed.php вы получите actualIp с ip

$_GET['ip'] 

, если вам нужно передать actualIp с POST вам нужно изменить ajax в POST.

+0

Я не могу заставить это работать. Я попытался получить доступ к странице с помощью & ip = 1.1.1.1, помеченной в конце URL-адреса, и это даже не работает. – user2537383

+0

вам нужно заглянуть внутрь 'getIperfSpeed.php' и проверить, откуда взялся actualIp. – cocco

+0

попытаться заменить actualIp на ip – cocco

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