Angular JSON仅适用于本地json文件,但不适用于URL

时间:2015-07-15 21:10:00

标签: javascript json angularjs

我刚刚介绍了Angularjs,我试图使用$ http.get。该页面仅在我提供的网址是本地'calender.json'时才有效。但是当我提供网址时,它会显示空白页面。有人可以帮我理解我的错误吗?

1 个答案:

答案 0 :(得分:2)

正如其他人在您的问题的评论中指出的那样,这是一个CORS问题。要轻松解决此问题,您可以将$http.get()来电更改为$http.jsonp()。但是,仅这一点无法解决问题。您还需要通过添加另一个查询参数来调整网址(使用您提供的网址): https://ssl.uh.edu/calendar/api/?view=7day&format=json&distinct=1&callback=JSON_CALLBACK

callback = JSON_CALLBACK告诉服务器您正在查询是否要将JSON响应包装在名为JSON_CALLBACK的函数中,该函数是一个特殊的angular关键字。查看文档了解更多信息:https://docs.angularjs.org/api/ng/service/ $ http

tl;博士版: 将$http.get("https://ssl.uh.edu/calendar/api/?view=7day&format=json&distinct=1")更改为$http.jsonp("https://ssl.uh.edu/calendar/api/?view=7day&format=json&distinct=1&callback=JSON_CALLBACK")