天天看點

xmlhttp 傳遞變量消失,XMLHttpRequest将變量傳遞給php腳本

xmlhttp 傳遞變量消失,XMLHttpRequest将變量傳遞給php腳本

I am trying to pass a variable to a php script using XMLHttpRequest and then have the php echo it back. I can't understand why it isn't working, could someone please help me.

Here is the Javascript.

// Browser Support

function Heatctrl(heatMode){

var heatControlRequest;

try{

//Good Browsers

heatControlRequest = new XMLHttpRequest();

} catch (e) {

//Internet Explorer

try{

heatControlRequest = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try{

heatControlRequest = new ActiveXObject("Microsoft.XMLHTTP");

}catch (e) {

alert("Brower not supported");

return false;

}

}

}

// Function to receive data from server and store in variable

heatControlRequest.onreadystatechange = function(){

if (heatControlRequest.readystate == 4){

alert(heatControlRequest.responseText);

//document.getElementById("controlMode").innerHTML=heatControlRequest.responseText;

//var heatControlResponse = heatControlRequest.responseText;

}

}

var url = "heatControl.php?heatmode="+heatMode;

// Send the request

heatControlRequest.open("GET", url, true);

heatControlRequest.send();

}

The HTML

Heating On

Heating Off

Boost

and the php

$controlMode = $_GET['heatmode'];

echo $controlMode;

?>

Any help is much appreciated, I work in electronics not programming and I've been struggling with this now for two days.

解決方案

The problem is this line:

if (heatControlRequest.readystate == 4){

^ this should be an uppercase S

It should be:

if (heatControlRequest.readyState == 4){

From the docs:

The XMLHttpRequest object can be in several states. The readyState attribute must return the current state.