dez
dez

Reputation: 23

can not send data to php by ajax

Hi all I am new in ajax and I am trying to get data from php code this is my ajax code:

function blodvotingview(contentid)
{
    var xmlhttp;    
    xmlhttp=GetXmlHttpObject();
    if (xmlhttp==null)
    {
        alert ("Your browser does not support XMLHTTP!");
        return;
    }
    var url="index.php";
    url=url+"?hp=1";
    url=url+"&m=blogenvoting";
    url=url+"&contentid="+contentid;
    xmlhttp.onreadystatechange=stateChanged;
    xmlhttp.open("GET",url,true);
    xmlhttp.send(null);
}

function stateChanged()
{
    if (xmlhttp.readyState==4)
    {
        document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
}

function GetXmlHttpObject()
{
    if (window.XMLHttpRequest)
    {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        return new XMLHttpRequest();
    }
    if (window.ActiveXObject)
    {
        // code for IE6, IE5
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
    return null;
}

And this is my html code {entry_id} is numeric parameter:

<a href="" onclick="blodvotingview({entry_id});return false;" title="Vote Up">view</a>
<p>Suggestions: <span id="txtHint"></span></p>

And this is php code I want to echo:

 <?php
showcomment()

function showcomment()
{

    echo "yes";
}
?>

But it doesn't work, please help me.

Upvotes: 0

Views: 98

Answers (2)

Wezy
Wezy

Reputation: 667

Try this

function blodvotingview(contentid)
{

  var xmlhttp;    
  if (str==""){
      document.getElementById("txtHint").innerHTML="";
      return;
  }
  if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
  }else{// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","index.php?hp=1q="+str,true);
  xmlhttp.send();
}

Should work fine, Wezy

Upvotes: 0

Ragen Dazs
Ragen Dazs

Reputation: 2170

If you consider use jQuery and jquery.serialize plugin you can easy do this by this example:

$.post('URL', $('#form_id').serialize(), function(r) {
   console.log(r);
});

or

$.post('URL', $('#form_id').serialize(), function(r) {
   console.log(r);
},'json'); // to parse response as JSON

or

$.get('URL', function(r) {
   console.log(r);
},'json'); // to parse response as JSON

Upvotes: 1

Related Questions