2011-02-24 94 views
1

我使用Phonegap在Android上開發了一個示例應用程序。
單擊按鈕時,向服務器發出Ajax請求(http://192.168.0.199:8080/test.php)。
The test.php只是回聲hello world
我正在使用Jquery 1.5進行Ajax調用。在Android上發出Ajax請求返回無傳輸錯誤

下面是Ajax調用的代碼:每到這個函數被調用時

$.ajax({ 
url:"http://192.168.0.199:8080/test.php", 
beforeSend: function(x) { 
alert("The URL "+url); 
}, 
type:'POST', 
crossDomain: true, 
success:function(data) { 
    alert(data); 
}, 
error:function(XMLHttpRequest,textStatus, errorThrown) {  
alert("Error status :"+textStatus); 
alert("Error type :"+errorThrown); 
alert("Error message :"+XMLHttpRequest.responseXML); 
} 
});  

但是,它拋出一個錯誤:

Error Type: No Transport
Error Message: undefined
Error Status: error

注意:我在Manifest文件中添加了INTERNET權限。我使用運行Android 1.6

感謝G1設備提前

回答

1

貌似你試圖讓本地網絡內客戶端的調用。
嘗試驗證您是否有權訪問該本地網絡。

+1

嗨艾瑞克,我能夠訪問瀏覽器上的網址......絕對不是網絡問題。 – bitblt 2011-02-24 13:33:55

+1

它運行良好** ** Android 2.2上的**三星Galaxy S ** **也許這是一個版本問題... G1運行在Android 1.6上** ** – bitblt 2011-02-25 09:01:49

1

從jQuery 1.5開始,新的AJAX/XHR實現正在使用中。而且Android 1.5/1.6並沒有說它支持CORS(跨域調用)。因此,一個辦法「修復」這是通知的jQuery它確實支持CORS:

jQuery.support.cors = true; 

我不能在2.1及更高版本重現該問題。所以我期望這個版本的XHR實現確實說它支持cors。