Web Shoutbox想法

Hello I was thinking about making a shoutbox for my site. I don't want to use any others because it doesn't fit in well with my pre-existing members database. I thought of some ideas but I'm not really sure on a better way of doing this. I want to submit a form and without 'GET' send a shout. I also can't re-load the page. That's where AJAX comes in :p

I thought of setting up the form on my webpage as:

<form method="post" onsubmit="return sendShout()" >
    <input type="text" name="Shout" id="Shout" />
</form>

With my javascript being the following:

<script>
    function sendShout()
    {
     if(ShoutTime == 0)
     {
      var http = new XMLHttpRequest();
      http.open("GET", location.href+"?shout="+encodeURIComponent(document.getElementById("Shout").value)+"&name="+encodeURIComponent(document.getElementById("username").value), true);
      http.send();
      ShoutTime = <?php echo $shoutWait;?>+1;
      ShoutWait();
      unidle();
      document.getElementById("Shout").value='';
     }
     else
     {
      ShoutWaitNote();
      getLogs();
     }
     return false;
    }
</script>

then on the page I could put into the databse like $_GET['shout']... etc.

Now is there a better way to use ajax to send a shout to a mysql database without having the shout as a GET in the url?

I suspect there are bigger problems at hand here, but you can do a POST with XMLHttpRequest like so:

var http = new XMLHttpRequest();
http.open("POST", location.href);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.send("shout=something&name=something");

As opposed to the GET version:

var http = new XMLHttpRequest();
http.open("GET", location.href + "?shout=something&name=something");
http.send();

You'll want to apply URL encoding in both cases. Good luck.