从Arrow(localhost)到模拟器

时间:2016-10-07 20:10:27

标签: api android-emulator titanium appcelerator

我试图在模拟器中的localhost中托管的Arrow执行httpRequest。以下是我从API Docs获得的代码:

    var xhr = Ti.Network.createHTTPClient({
    onload: function onLoad() {
        alert("Loaded: " + this.status + ": " + this.responseText);
    },
    onerror: function onError() {
        alert("Errored: " + this.status + ": " + this.responseText);
    }
});

xhr.open("GET","http://127.0.0.1:8080/api/externa");
var authstr = 'Basic ' + Ti.Utils.base64encode('QM59cPRalcyN6eDMLqiu8HmJJ+47kLOi:');
xhr.setRequestHeader("Authorization", authstr);
xhr.send(); 

我收到状态= 0,表示警报显示:

  

错误:0:

如果我在移动网络中运行代码或使用节点版本代码来请求相同的API,一切都很顺利,但是使用模拟器它并不是。我的防火墙已关闭,我使用的是Windows 7。

1 个答案:

答案 0 :(得分:0)

是的,这是正确的,模拟器正在访问他自己的localhost,正确的方法是使用http:10.0.2.2:8080地址