Reputation: 23
just trying to implement a basic ajax request. the js calls the server and will recieve a response back but now i need to send a parameter to get a specific value back from the server so i send form data via POST. the PHP script recognizes that a $_POST request was submitted but if i access the data in $_POST i get error "Undefined array key "item"" Any help? I get one s
//javascript script
function doTHIS()
{
var data = new FormData();
data.append('item', 'apple');
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (this.readyState == 4 && this.status ==200)
{
document.getElementById("idName").innerHTML = this.responseText;
}
}
xhttp.open("POST", "ajaxScript.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send(data);
}
//php script
if( $_SERVER['REQUEST_METHOD'] == 'POST')
{
if($_POST["item"]=='apple')
echo "sucess";
else
echo "fail";
}
I get fail everytime. I have been reading w3school and various other resources ALL DAY! I am handling the form data wrong i think but dont see how. I have varied the syntax 100 different ways.
Upvotes: 1
Views: 84
Reputation: 444
Everything looks good except FormData object, you are not passing any form element, if you need to send just parameter use below for creating data & you should be good
var data = 'item=apple&item2=mango';
Upvotes: 1