2011-09-23 38 views
0

我想做登錄應用程序,需要身份證和密碼..當我點擊登錄按鈕,然後它將通過JSON連接到我們的本地服務器..with指定URL..the代碼..無法連接到鈦工作室的Android應用程序的JSON服務

var loginReq = Titanium.Network.createHTTPClient(); 
    loginReq.onload = function() 
    { 
    var json = this.responseText; alert(json); 
     var response = JSON.parse(json); 
     if (response.data.status == "success") 
     { alert("Welcome "); 
      } 
      else 
      { alert(response.data.status); 
     } 
      }; 

      loginReq.onerror = function(event) 
       { 
      alert(event.toSource()); 
      //alert("Network error"); 
       }; 

     loginBtn.addEventListener('click',function(e) 
     { if (username.value != '' && password.value != '') 
     { 
      var url = 'our local url        action=login&id='+username.value+'&pwd='+password.value; 
     loginReq.open("POST",url); 
     loginReq.send(); 
      } 
      else 
      { 
      alert("Username/Password are required"); 
      } 
      }); 

這是不是我們連它URl..so正進入loginReq.onerror功能...而不是loginReq.onload function..why它是拋出運行時間錯誤..相同的代碼與Iphone正常工作.. 運行時錯誤是.. TypeEr ror:無法在對象{'source'中調用屬性toSource:[Ti.Network.HttpClient],指定的url}不是函數,它是一個對象。

這是笏的error..please讓我知道...

回答

0

顯然,toSource()函數中不存在的Android,因爲它是一個對象。嘗試調試並查看對象事件包含的內容。

您可以通過在警戒線上添加一行並添加調試行來實現。

看在調試模式下,看到所有的變量

0

「toSource()」不爲任何平臺形成文件的功能,我也沒有看到它在源鈦移動。如果你沒有得到iOS上的錯誤,我猜這是因爲錯誤處理程序沒有被調用。也許你的模擬器或設備沒有互聯網接入,而你的iOS模擬器或設備呢?

不管怎樣,錯誤HttpClient的處理通常看起來是這樣的:

loginReq.onerror = function(e) 
{ 
    Ti.API.info("ERROR " + e.error); 
    alert(e.error); 
}; 
相關問題