2014-10-07 60 views
0

我使用apache cordova發出了一個應用程序。我的服務器寫在node.js本地運行和端口3005。所以我想從cordova進行API調用,我在客戶端使用backboneAPI調用在cordova應用程序中不起作用

我寫了下面的代碼,以使API調用

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/"。這樣它不起作用。它顯示This request has no response data available

現在我試圖與生產領域一樣

URL路徑是:"http://xxx.xxxx.com/api/user/status/"

這樣它的正常工作。

爲什麼localhost無法正常工作,我直接在瀏覽器中調用相同的URL。但它不在cordova中工作。

注意:我沒有修改www/config.xml文件中的任何內容。

什麼問題我該如何解決這個問題。

謝謝。

+0

您正在端口3005上運行您的服務器,但正在使用端口3004中的請求? – 2014-10-07 16:27:11

+0

@YoelNunez對不起,我現在更新了,你可以檢查它.. – vasan 2014-10-07 16:33:55

+0

檢查這個帖子我認爲它是類似於你正在經歷的[鏈接](http://stackoverflow.com/questions/12610020/backbone-js-非休息用戶模型) – 2014-10-07 16:41:16

回答

0

localhost127.0.0.1的別名,即使您在同一臺機器上的模擬器上運行,本地主機也不是真實的。您必須始終從設備(甚至虛擬設備)撥打IP地址或域名。這是因爲在設備localhost指的是設備,而不是它可能運行的機器。

相關問題