我是钛appcelerator家族的新手。此外,我不确定是否有人之前发布了同样的问题。我找不到它,所以在这里张贴。
我正在开发一个移动应用程序。在我的应用程序中,我试图调用一个托管在我的本地环境中的Web服务,但它始终返回状态代码为0的响应和错误消息“无法访问主机”。所以我认为我部署在远程位置的Web服务应该存在一些问题。因此我试图打电话给其他一些像Twitter这样的网络服务,但它也是一样.. :(在调用推特网络服务的同时给我一个错误。
我还检查了跨域策略问题。所以我也尝试在服务器上为Web服务设置规则,但它没有成功。以下是我正在使用的代码段和环境详细信息。
我正在呼叫的示例Web服务的文件存在于以下位置:
代码:
//declare the http client object
var xhr = Titanium.Network.createHTTPClient();
//this method will process the remote data
xhr.onload = function() {
//check to see if we are refreshing the data via our
//pull and release mechanism
//create a json object using the JSON.PARSE function
result = JSON.parse(this.responseText);
Ti.API.info(result);
console.log(result);
var msgTitle = "data:";
var msgText = result;
var alertBox = Ti.UI.createAlertDialog({
title: msgTitle,
message: msgText
});
alertBox.show();
};
//this method will fire if there's an error in accessing the remote data
xhr.onerror = function(e) {
//log the error to our titanium developer console
Ti.API.error(this.status + ' - ' + this.statusText);
console.log(this.status + ' - ' + this.statusText);
var msgTitle = "Error : " + this.status;
var msgText = "Error Text : " + this.statusText;
var alertBox = Ti.UI.createAlertDialog({
title: msgTitle,
message: msgText
});
alertBox.show();
Ti.API.debug("STATUS: " + this.status);
Ti.API.debug("TEXT: " + this.responseText);
Ti.API.debug("ERROR: " + e.error);
alert('There was an error retrieving the remote data. Try again.' + e.error);
};
//open up the recipes xml feed
xhr.open("POST", "http://127.0.0.1/rest_example/api.php?rquest=locations");
//finally, execute the call to the remote feed
xhr.send();
任何帮助都会非常感激。