我检查了上述帖子,首先它与AngularJS无关,其次,该帖子的答案是:不,你不能使用JSONP来获取HTML数据。
为什么我的帖子是重复的,而不是在其他帖子中答案说 - 你做不到,但是这里的人说我可以(通过$ sce)? 谁是对的?
基本上我想做这项工作:
当我使用$ http.get:
时equals
我得到例外:
XMLHttpRequest无法加载 https://weather.gc.ca/city/pages/on-143_metric_e.html。没有 '访问控制允许来源'标题出现在请求的上 资源。起源' http://localhost:8080'因此是不允许的 访问。
清楚 - CORS问题。
但它应该适用于JSONP,对吗?
当我使用$ http.jsonp:
时getWeatherForecast() {
return this.$http.get('https://weather.gc.ca/city/pages/on-143_metric_e.html');
}
我得到例外:
angular.js:14642错误:[$ sce:insecurl] http://errors.angularjs.org/1.6.5/ $ SCE / insecurl?P0 = HTTPS%3A%2F%2Fweather.gc.ca%2Fcity%2Fpages%2Fon-143_metric_e.html 在http://localhost:8080/node_modules/angular/angular.min.js:7:76 at getTrusted(http://localhost:8080/node_modules/angular/angular.min.js:157:67) at Object.c。(匿名函数)[as getTrustedResourceUrl](http://localhost:8080/node_modules/angular/angular.min.js:158:352) 在q(http://localhost:8080/node_modules/angular/angular.min.js:103:257) 在http://localhost:8080/node_modules/angular/angular.min.js:102:8 在http://localhost:8080/node_modules/angular/angular.min.js:136:167 at m。$ digest(http://localhost:8080/node_modules/angular/angular.min.js:147:70) at m。$ apply(http://localhost:8080/node_modules/angular/angular.min.js:150:281) 在gapi.client.init.then(http://localhost:8080/app/google.auth.js:26:33) 在h.r2(https://apis.google.com//scs/apps-static//js/k=oz.gapi.en_GB.F7DGotPmXwE.O/m=auth2,client/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AGLTcCNq_HS-9xmY0NiaH7I_fyUJGoSh1Q/cb=gapi.loaded_0:107:107) "可能未处理的拒绝:{}"
完整服务代码:
不确定如何使用$ sce,原始的AngularJS文档绝对不清楚。将代码更改为此,现在它引发了许多其他异常:
getWeatherForecast() {
return this.$http.jsonp('https://weather.gc.ca/city/pages/on-143_metric_e.html');
}
现在我收到了所有这些错误(为什么他们不能写出人们可以理解的清晰文档:(