来自url的Angularjs json不起作用,但在本地工作
Posted
技术标签:
【中文标题】来自url的Angularjs json不起作用,但在本地工作【英文标题】:Angularjs json from url doesn't work, but works locally 【发布时间】:2015-11-04 14:33:57 【问题描述】:我试图使用$http.get
。该页面仅在我提供的 url 是本地 'vehicles.json
' 时才有效但是当我提供 url 时,它会吐出一个空白页面。有人可以帮我理解我的错误吗?
【问题讨论】:
打开控制台并修复错误。然后使用 $http 的 jsonp 方法。 看起来像 CORS 问题 @dfsq 服务器的 url 没有 jsonp 回调。我还应该尝试使用 jsonp 方法而不是 $http 吗? @MartinScore 你可以去 jsonp 请求 你为什么要使用&format=jsonp
?无论如何,这就是你需要做的:If (API supports JSONP?) use JSONP else if (CORS supported?) use GET JSON(API url) else create server side proxy and GET JSON(proxy url)
.
【参考方案1】:
你必须替换这一行:
$scope.vehicle = data.['get_vehicles'];
为此:
$scope.vehicle = data['get_vehicles'];
如果你在你的 Plunker 中修改它,它将起作用。
我希望这能解决你的问题。
【讨论】:
你检查程序是否是CORS?要检查它,您可以打开控制台(Chrome 中的 F12)并查看是否出现一些消息,例如“XMLHttpRequest 无法加载 domain.example。Access-Control-Allow-Origin 不允许来源 domain.example。”如果您的问题是这样,您可以使用禁用安全性 (***.com/questions/3102819/…) 来转换您的 chrome以上是关于来自url的Angularjs json不起作用,但在本地工作的主要内容,如果未能解决你的问题,请参考以下文章