2015-10-16 114 views
0

嘗試使用角度和API來獲取某些數據。很明顯,我對此很新。從角度獲取API的json問題

我的定製服務:

readIp.service('ip', ['$resource', function($resource){ 
    this.getIP = function(ip) { 
     var ipData = $resource("http://www.telize.com/jsonip?callback=getip", { 
      callback : "JSON_CALLBACK" 
     }, { 
      get : { 
       method: "JSONP" 
      } 
     }); 
     return ipData.get({ getip: ip }); 
    } 
}]); 

從我的控制器:

$scope.getIP = ip.getIP($scope.getip); 

HTML:

<strong>Your IP is:</strong>&nbsp;{{ getIP.ip }} 

我得到當前的錯誤:

Uncaught ReferenceError: getip is not defined 

API顯示爲:getip({「ip」:「###。###。##。##」});來源。

+0

首先聲明getIP(資本),然後您嘗試使用getip(無資金)。 Javascript區分大小寫......如果這些是不同的變量,請使用不同的名稱以避免錯誤 – Neb

回答

0

您的服務未正確定義。它應該返回一個包含getIp方法的對象。嘗試一下:

readIp.factory('ip', ['$resource', function($resource){ 
    return { 
    getIP: function(ip) { 
     // your code goes here 
    } 
    } 
}]); 
0

試試這個來代替上面的代碼。希望你已經添加了ngResource模塊。

readIp.factory('ip',['$resource',function($resource){ return $resource('http://www.telize.com/jsonip?callback=getip', {}, { query: {method:'GET', params:{}} }); }])