Appcelerator Titanium HTTPClient Post to PHP - Working Example

Zero Gravity Programming

Appcelerator/Titanium's HTTPClient is flexible and powerful, but I had a bugger of a time figuring out how to do a basic POST to a PHP page on a remote server from my iPad app. This seems like it would be a mainstream type of thing to do--not anything fancy, tricky, or unorthodox. Yet I couldn't find ANY working examples of how to do this. Not on Appcelerator's forums or docs, and not on any of the dozens of google searches I did.

Let's be clear: I found lots of code samples on how to use HTTPClient, but 99% of them were GETs instead of POSTs. Of the 1%, 99% of those used JSON. Fine, so I tried using JSON, but my form receivers in php ($_POST) did not correctly process this data. And besides, I don't need JSON, I just wanted a simple post. So after spending way too much time on this, I figured it out:
function transmit(){
    var xhr=Titanium.Network.createHTTPClient();"POST", serverURL);
    xhr.onload = function(){
     //alert("responseText: " + this.responseText);
     if(this.status == '200'){
        alert('Transmission successful!');
        //if(this.readyState == 4){
        //  alert('Response = ' + response);
        //  alert('HTTP Ready State != 4');
        alert('Transmission failed. Try again later. ' + this.status + " " + this.response);
    xhr.onerror = function(e){alert('Transmission error: ' + e.error);};
    var params = {
        Param1 : 'Jack',
        Param2 : 'Bauer'

And the receiving PHP code is super easy:
$param1 = $_POST['Param1'];
$param2 = $_POST['Param2'];

If you need any custom programming done, including iPad, iPhone, Android, or traditional web development, please contact us.
Zero Gravity Programming