我已经在这个工作了几个小时,似乎无处可去。我希望这是发布此内容的正确位置。我是StackOverflow的新手,所以如果这不正确,请引导我到正确的地方。
我有以下html文件:
<!DOCTYPE HTML>
<html ng-app="DishClips">
<head>
<script type="text/javascript" src="http://code.angularjs.org/angular-1.0.0.0rc4.min.js"></script>
<script type="text/javascript" src="http://code.angularjs.org/angular-resource-1.0.0.0rc4.min.js"></script>
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.0/css/bootstrap.min.css">
<script type="text/javascript" src="./dishclips.js"></script>
</head>
<body>
<div ng-controller="DishClipsCtrl">
<table class="table table-striped">
<tr ng-repeat="restaurant in dishclipsResult.results"></tr>
<td>{{restaurant.name}}</td>
</table>
</div>
</body>
</html>
以下是我的dishclips.js:
angular.module('DishClips', ['ngResource']);
function DishClipsCtrl($scope, $resource) {
$scope.dishclips = $resource('http://apiv2.dishclips.com/dishclips/api/:action',
{action:'searchRestaurants',address:'irvine',callback:'JSON_CALLBACK' },
{get:{method:'JSONP'}});
$scope.dishclipsResult = $scope.dishclips.get();
}
当我运行它(在chrome中)时,我得到:
Uncaught SyntaxError:意外的令牌:
json回归看起来很棒,所以我不明白为什么这是一个问题。
由于
答案 0 :(得分:3)
由于您使用的API会返回JSON
而不是JSONP。 JSONP
的有效负载应该包含一个像functionCall({"Name": "Foo", "Id": 1234, "Rank": 7});
答案 1 :(得分:3)
您必须在JSONP请求中再定义一个默认参数。
get:{method:'JSONP', params : {callback : 'JSON_CALLBACK'}}
答案 2 :(得分:0)
如果意外地将模板页面(而不是指令.js文件)加载为脚本,也会出现此错误。
<script src="/js/Directives/Templates/myTemplate.html"></script>