0

主に電子メールからの HTML を解析する AngularJS アプリがあります。場合によっては、data-bind-html が解析エラーをスローしますが、すべての場合ではありません。理由を特定できませんでした。

エラーを引き起こす可能性のあるトークンまたは構文のいくつかのタイプを知っている人はいますか?

それをつまずかせるファイルのサンプルを次に示します。



次のエラー メッセージを受け取りました...:

-------------------------------------------------- ---------------------- サーバーは予期しない状況に遭遇したため、

要求を満たす。

HTTP_Status = 500 (内部サーバー エラー)

URL =

---------------------------------------------- リクエストヘッダー ------- ---------------------------------- POST /ss/servlet/FooServlet/ HTTP/1.1 Accept: Accept: /ホスト: mydomain.org Content-Length: 141 User-Agent: FooBar/2.1.94 プラグマ: no-cache Cache-Control: no-cache Content-Type: application/x-www-form-urlencoded; charset="utf-8" 接続: キープアライブ Cookie: BIGipServerpool_cookie_apps_ss_8188=rd860o0000000000000000000ffff0a0ad0aco8188; JSESSIONID=5215F941A173B6127E9A95B3E99E3A74

---------------------------------------------- 応答ヘッダー ------- ---------------------------------- HTTP/1.1 500 Internal Server Error Server: Apache-Coyote/1.1 Set-クッキー: JSESSIONID=A9B7C98E5359D961DC8958F87CCCF49E; Path=/ss Content-Disposition: 添付; filename="spreadsheet.csv" Content-Description: Spreadsheet.csv Content-Transfer-Encoding: binary Content-Type: application/csv;charset=ISO-8859-1 Transfer-Encoding: チャンク Date: Wed, 06 Mar 2013 18: 46:19 GMT 接続: 閉じる

--------------...

4

1 に答える 1

0

電子メールには、多くの任意のエンコーディングと無効な HTML ( <email@domain.com>. 解析エラーをなくすために、ngSanitize/bind-html を通過する前に有効になる独自のフィルターを実装しました。

ng-bind-html="obj.emailContent | sanitizeEmail"

myModule.filter('sanitizeEmail', function() {
  return function(input) {
    return input.replace(/<[\w-]*\.[\w-]*>/g, '').replace(/<[\w\.\$-]+[\:@].*>/g, '');
  };
});
于 2013-04-30T14:30:59.343 に答える