Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AngularJS解析HTML文档_Javascript_Html_Angularjs - Fatal编程技术网

Javascript 使用AngularJS解析HTML文档

Javascript 使用AngularJS解析HTML文档,javascript,html,angularjs,Javascript,Html,Angularjs,我正在尝试用AngularJS编写一个简单的drop-in曲棍球应用程序。它将汇总来自当地溜冰场的时间表数据,并在每个地铁区域的单个页面上显示。然而,我聚合的一些站点似乎不支持JSON,所以我的任务是删除HTML,然后解析它以获取时间/日期信息。我的问题是:有没有一种惯用的方法来解析和显示在屏幕上的HTML数据 我与约曼+鲍尔共同启动了该项目。丹佛地区接入的控制器如下所示: angular.module('dropinApp') .controller('DenverCtrl', funct

我正在尝试用AngularJS编写一个简单的drop-in曲棍球应用程序。它将汇总来自当地溜冰场的时间表数据,并在每个地铁区域的单个页面上显示。然而,我聚合的一些站点似乎不支持JSON,所以我的任务是删除HTML,然后解析它以获取时间/日期信息。我的问题是:有没有一种惯用的方法来解析和显示在屏幕上的HTML数据

我与约曼+鲍尔共同启动了该项目。丹佛地区接入的控制器如下所示:

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 ---------------->