2015-10-16 66 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:{}} }); }])