Почтовый запрос не работает - PullRequest
1 голос
/ 21 июня 2011

У меня есть приложение для Android и очень простой веб-сервис, который делает вставку в БД с 3 значениями.

титановый код больше всего похож на пример, приведенный в документации

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'
});

и веб-сервис просто

<?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());
}
?>

сейчас, когда я пробую веб-сервис с передачей значений через браузер, он работает хорошо, но с приложением у меня вообще нет результатов, какие-либо предложения?приложение не падает или не регистрирует ошибки

Ответы [ 4 ]

1 голос
/ 05 декабря 2011

Вы должны использовать PHP-функцию json_decode, чтобы получить значения.

0 голосов
/ 16 декабря 2011

Код правильный, проблема была в самой платформе, в тот день метод post не работал.В настоящее время это было исправлено.

0 голосов
/ 02 июля 2011

Когда я вижу такую ​​проблему, я устанавливаю «Чарльз» или аналогичный прокси-сервер и заставляю устройство отправлять свой запрос через прокси.Затем вы можете увидеть, если устройство отправляет то, что ожидается.

Вы также можете попробовать

xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
0 голосов
/ 30 июня 2011

Попробуйте добавить заголовок так:

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

Вы также должны сделать var_dump ($ _ POST) в своем PHP, чтобы увидеть, что в нем, не уверен, что вы получите свои вещи в разделенных переменных ...

...