如何使用AJAX将Javascript / Ajax变量发送到php页面

时间:2013-08-23 17:59:51

标签: php javascript ajax

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()不包括在内,因为它只是标准的。我正在进行调用runGetIperfSpeedAjax的onclick JavaScript调用。如果我在“lib / getIperfSpeed.php”中硬设置IP,这一切都能正常工作。但我似乎无法将actualIp传递给“lib / getIperfSpeed.php”。我尝试'lib/getIperfSpeed.php'+actualIp尝试传递它并通过帖子访问它。

感谢所有帮助。

1 个答案:

答案 0 :(得分: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']

如果你需要通过POST传递actualIp,你需要将ajax更改为POST。