![]() |
Appcelerator Titanium HTTPClient Post to PHP - Working Example |
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(); xhr.open("POST", serverURL); xhr.onload = function(){ //alert("responseText: " + this.responseText); if(this.status == '200'){ alert('Transmission successful!'); //if(this.readyState == 4){ // alert('Response = ' + response); //}else{ // alert('HTTP Ready State != 4'); //} }else{ alert('Transmission failed. Try again later. ' + this.status + " " + this.response); } }; xhr.onerror = function(e){alert('Transmission error: ' + e.error);}; xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); var params = { Param1 : 'Jack', Param2 : 'Bauer' }; xhr.send(params); } 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 |