2011-09-23 65 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); 
}; 
相关问题