Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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
Angularjs 什么样的事情会导致ngSanitize抛出解析错误_Angularjs - Fatal编程技术网

Angularjs 什么样的事情会导致ngSanitize抛出解析错误

Angularjs 什么样的事情会导致ngSanitize抛出解析错误,angularjs,Angularjs,我有一个AngularJS应用程序,可以解析主要来自电子邮件的HTML。在某些情况下,数据绑定html会抛出解析错误,但并非所有情况下都会如此。我无法确定原因 有人知道可能导致错误的某些类型的标记或语法吗 下面是一个文件的示例,它会使文件出错: ,, 我收到以下错误消息…: ------------------------------------------------------------------------服务器遇到意外情况,无法正常运行 满足要求。 HTTP_状态=500(内部服

我有一个AngularJS应用程序,可以解析主要来自电子邮件的HTML。在某些情况下,数据绑定html会抛出解析错误,但并非所有情况下都会如此。我无法确定原因

有人知道可能导致错误的某些类型的标记或语法吗

下面是一个文件的示例,它会使文件出错:

,,

我收到以下错误消息…:

------------------------------------------------------------------------服务器遇到意外情况,无法正常运行

满足要求。 HTTP_状态=500(内部服务器错误)

URL=

-----------------------------------------请求头 -----------------------------------------POST/ss/servlet/FooServlet/HTTP/1.1接受:接受:/Host:mydomain.org内容长度:141 用户代理:FooBar/2.1.94 Pragma:无缓存控制:无缓存 内容类型:application/x-www-form-urlencoded;charset=“utf-8” 连接:保持活动Cookie: BIGipServerpool_cookie_apps_ss_8188=RD860O00000000000000FF0A0AD0ACO8188; JSESSIONID=5215F941A173B6127E9A95B3E99E3A74

-----------------------------------------响应头 -----------------------------------------HTTP/1.1 500内部服务器错误服务器:Apache Coyote/1.1设置Cookie: JSESSIONID=A9B7C98E5359D961DC8958F87CCCF49E;路径=/ss 内容处置:附件;filename=“电子表格.csv” 内容描述:spreadsheet.csv内容传输编码:二进制 内容类型:应用程序/csv;字符集=ISO-8859-1传输编码: 分块日期:2013年3月6日星期三18:46:19 GMT连接:关闭

-------------


电子邮件可能包含大量任意编码和无效HTML,例如
。为了消除解析错误,我已经实现了自己的过滤器,它在通过Ngsanize/bind html之前生效

ng bind html=“obj.emailContent | sanitizeEmail”

myModule.filter('sanitizeEmail',function(){
返回函数(输入){
返回输入。替换(//g',)。替换(//g',);
};
});

若要获得答案,请尝试在plunker中复制。以下是一个从您提供的数据中提取的不会导致错误的plunker:我建议您将导致错误的任何文件切成两半,如果仍然会导致错误,则再将其切成两半,直到找到导致错误的原因。感谢您迄今为止的建议。。我还在调试这个问题。
myModule.filter('sanitizeEmail', function() {
  return function(input) {
    return input.replace(/<[\w-]*\.[\w-]*>/g, '').replace(/<[\w\.\$-]+[\:@].*>/g, '');
  };
});