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. 如果我在“lib/getIperfSpeed.php”中硬设置 IP,这一切都可以正常工作。但我似乎无法将其传递actualIp给“lib/getIperfSpeed.php”。我试图'lib/getIperfSpeed.php'+actualIp尝试通过它并通过帖子访问它。

感谢所有帮助。

4

1 回答 1

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你得到actualIpip

$_GET['ip']

如果您需要通过 POST 传递实际 Ip,则需要将 ajax 更改为 POST。

于 2013-08-23T18:04:46.927 回答