2011-06-20 128 views
1

我有一個android應用程序和一個非常簡單的web服務,它在具有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' 
}); 

和Web服務提供的例子只是

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

現在,當我嘗試web服務給值與瀏覽器,它運行良好,但與應用程序我根本得不到任何結果,有什麼建議? THA應用程序不會崩潰或登錄任何錯誤

+0

我也有同感。所以,最終我轉換爲GET請求。 – iMatoria

+0

但是當你需要發送圖像時這是一件很難的事情,那應該是我的下一步:V – Zerho

回答

0

代碼是正確的,問題在於框架本身,在那一天post方法不起作用。 現在它已被修復。

0

嘗試增加這樣的標題:在你的PHP

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

你也應該做的var_dump($ _ POST),看看裏面有什麼,不知道你'將你的東西分離變量...

+0

仍然不起作用 – Zerho

0

當我看到這樣的問題,我設置'查爾斯'或類似的代理,並讓設備通過代理髮送請求。然後你可以看到設備是否發送了預期的內容。

您也可以嘗試

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

您必須使用PHP函數json_decode得到的值。