Javascript 使用AngularJS解析HTML文档
我正在尝试用AngularJS编写一个简单的drop-in曲棍球应用程序。它将汇总来自当地溜冰场的时间表数据,并在每个地铁区域的单个页面上显示。然而,我聚合的一些站点似乎不支持JSON,所以我的任务是删除HTML,然后解析它以获取时间/日期信息。我的问题是:有没有一种惯用的方法来解析和显示在屏幕上的HTML数据 我与约曼+鲍尔共同启动了该项目。丹佛地区接入的控制器如下所示:Javascript 使用AngularJS解析HTML文档,javascript,html,angularjs,Javascript,Html,Angularjs,我正在尝试用AngularJS编写一个简单的drop-in曲棍球应用程序。它将汇总来自当地溜冰场的时间表数据,并在每个地铁区域的单个页面上显示。然而,我聚合的一些站点似乎不支持JSON,所以我的任务是删除HTML,然后解析它以获取时间/日期信息。我的问题是:有没有一种惯用的方法来解析和显示在屏幕上的HTML数据 我与约曼+鲍尔共同启动了该项目。丹佛地区接入的控制器如下所示: angular.module('dropinApp') .controller('DenverCtrl', funct
angular.module('dropinApp')
.controller('DenverCtrl', function ($scope, $http, $sanitize) {
// Pull data from a pre-scraped html frame to get around CORS issues.
/* http://denveruniv-web.ungerboeck.com/coe/coe_p1_all.aspx?oc=01&cc=ICEDI30#mainContent */
$http.get('/dropin_data/du-schedule.html').
success(function(data, status, headers, config) {
$scope.duHtmlData = data;
$scope.duStatus = status;
}).
error(function(data, status, headers, config) {
$scope.duData = data;
$scope.duStatus = status;
});
// Yeoman/Bower stuff
$scope.awesomeThings = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
});
我尝试了几种不同的方法将其注入我的丹佛分部。这是最近的一次:
<!-- denver.html -->
<p>Denver Drop-In.</p>
<p ng-bind-html="duHtmlData">{{ duHtmlData }}</p>
<p>status is {{ duStatus }}</p>
丹佛顺便来看看
{{{duHtmlData}
状态为{duStatus}
这在以下情况下失败:
Error: [$sanitize:badparse] The sanitizer was unable to parse the following block of html: <!-- Body Listing ---------------->...
错误:[$sanitize:badparse]消毒器无法分析以下html块:。。。
我还尝试在我的控制器内进行解析:$scope.duParsedData=$sanitize(duHtmlData)
,这会产生大致相同的错误。HTML文件只是DU网站上的一个curl转储文件
撇开语法问题不谈,这种方法正确吗?有没有一种更惯用的方法可以在Angular中抓取/解析第三方HTML?您可以使用$sce服务。看 我添加了一些页面的Html。评论并没有提出问题
<!-- Body Listing ---------------->
用你自己制作的服务器端脚本刮取HTML,然后将数据转换为JSON供你的Angular应用程序使用。HTML内容是什么?嗯……可以说,我希望所有内容都是“Angular”,但我担心你可能是对的。最简单的方法是将所有内容都塞进JSON,然后从我的Angular应用程序中加载。@KursadGulseven-你可以看到我从代码中的注释URL中获取的HTML。它基本上是一个HTML框架,里面有一个表,其中有一个日期/时间列表。我试图解析出这些日期/时间。它们的错误是由于$sce造成的——您需要$sce.trustAsHtml(html);html允许绑定。感谢你和Dylan让我走上了正确的道路。这很有效。
<!-- Body Listing ---------------->