让Angular Typeahead与JSONP和JSON一起使用属性

时间:2014-06-30 23:02:44

标签: angularjs angularjs-directive angularjs-scope angular-ui-bootstrap

我一直在拉我的头发试图让$ http.json()正确返回一组对象。我在本地存储了相同响应的示例,它们工作正常。

任何人都可以看看这段代码并告诉我我做错了什么?它与返回$ http或其他东西有关。

演示:http://plnkr.co/edit/x325wZ4mwi9DNM8tAxgH?p=preview

1 个答案:

答案 0 :(得分:1)

你似乎改变了你的掠夺者。您使用$ http.jsonp调用的第一个看起来很接近但是有了CORs问题很难测试 - 您应该检查JSONP返回数据的编码类型是否正确。然而...

我会根据下面的代码构建$ http.get。现在您已经删除了$ http.jsonp而支持$ http.get,还要注意您现在可能需要通过jsonDecode将返回的JSON数据字符串显式解压缩为javascript对象。最后,您可能需要解开服务器响应以仅返回没有JSON_CALLBACK()包装的json有效负载。

  var url = 'http://sitesbyjoe.com/angular-tests/typeahead/schools.php?callback=JSON_CALLBACK'
  $http.get(url).success(function(data) {
      console.log(data);
      $scope.schools = angular.jsonDecode(data);
  });