Zerho
Zerho

Reputation: 1460

Post request not working

i've got an android app and a really simple web service that make an insert in a DB with 3 values.

the titanium code is most like the example given on the docs

var xhr = Ti.Network.createHTTPClient();
xhr.onload = function(e) {};

xhr.open('POST','http://www.micheleantonaci.altervista.org/test/foobar.php');
xhr.send({
"latitude":00100,
"longitude":10000,
"type":'From Nexus'
});

and the web service is just

<?php       
   $con=mysql_connect('http://www.micheleantonaci.altervista.org/','***','***');
   mysql_select_db('***',$con);
   if(isset($_REQUEST['submit']))
{  
    $latitude=$_POST['latitude'];
    $longitude=$_POST['longitude'];
    $kind=$_POST['type'];

    $sql="insert into foobar (latitude,longitude,type) values ('$latitude','$longitude','$kind')";
    $res=mysql_query($sql) or die (mysql_error());
}
?>

now, when i try the webservice giving the values with the browser it works good, but with the app I get no results at all, any suggestions? tha app doesn't crash or log any error

Upvotes: 1

Views: 1804

Answers (4)

Zerho
Zerho

Reputation: 1460

The code is right, the problem was on the framework itself, at that day the post method wasn't working. Nowadays it has been fixed.

Upvotes: 0

Jeff Bonnes
Jeff Bonnes

Reputation: 1130

When I see a problem like this, I setup 'Charles' or a similar proxy and have the device send it's request through the proxy. Then you can see if the device is send what is expected.

You could also try

xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

Upvotes: 0

miff
miff

Reputation: 342

You must use PHP function json_decode to get values.

Upvotes: 1

jipiboily
jipiboily

Reputation: 1240

Try adding the header like this:

xhr.setRequestHeader("Content-Type", "application/json");

You should also do a var_dump($_POST) in your PHP to see what's in it, not sure you'll get your stuff in separated variables...

Upvotes: 0

Related Questions