Javascript API调用在cordova应用程序中不起作用
我使用apachecordova制作了一个应用程序。我的服务器是在本地运行的node.js和端口3005中编写的。所以我想从cordova调用API,我在客户端使用主干网 我编写了以下代码来进行API调用Javascript API调用在cordova应用程序中不起作用,javascript,cordova,backbone.js,Javascript,Cordova,Backbone.js,我使用apachecordova制作了一个应用程序。我的服务器是在本地运行的node.js和端口3005中编写的。所以我想从cordova调用API,我在客户端使用主干网 我编写了以下代码来进行API调用 makingAPICallForStatus:function(){ var userSessionModel = Backbone.Model.extend({ //Creaating a model for checking user session status
makingAPICallForStatus:function(){
var userSessionModel = Backbone.Model.extend({ //Creaating a model for checking user session status
url:"http://localhost:3005/api/user/status/",
});
var userSessionModelObj=new userSessionModel();
this.makeApiCall(userSessionModelObj,"",'GET',function(model,response,options){console.log(response);});
},
makeApiCall:function(modelObj,dataObject,requestType,successCallback){
modelObj.fetch({data:dataObject,
type:requestType,
success:successCallback,
error:function(){console.log("error")}
});
}
如果您注意到,我提到的URL路径是:http://localhost:3005/api/user/status/. 这样就不行了。显示此请求没有可用的响应数据
现在我尝试了生产领域,比如
URL路径为:http://xxx.xxxx.com/api/user/status/
这样很好用
为什么localhost不工作,我直接在浏览器中调用相同的url工作正常。但它在科尔多瓦不起作用
注意:我没有修改www/config.xml文件中的任何内容
有什么问题吗?我怎样才能解决这个问题
谢谢。localhost是127.0.0.1的别名,即使您在同一台计算机上的模拟器上运行,本地主机也不是真实的。您必须始终从设备甚至虚拟设备调用IP地址或域名。这是因为在设备上,localhost指的是设备,而不是它可能运行的机器。您正在端口3005上运行服务器,但正在端口3004上使用请求?@YoelNunez抱歉,我现在更新了,你能检查一下吗..检查一下这篇文章,我认为它和你所经历的很相似,你在模拟器中运行它吗?如果是这样,请使用计算机的IP而不是localhost。localhost是127.0.0.1的别名,即使您在同一台计算机上的模拟器上运行,本地主机也不是真实的。您必须始终从设备甚至虚拟设备调用IP地址或域名。这是因为在设备上,localhost指的是设备,而不是运行它的机器。