У меня есть шаблон angularjs, который выглядит примерно так:
<img ng:src="/resources/{{id}}/thumbnail" />
Однако это приводит к ошибке $interpolate: noconcat. В отличие от этого шаблона:
<img ng:src="{{fullUrl}}" />
или даже:
<img ng:src="{{id|createThumbnailURL}}" />
(где createThumbnailURL - простой фильтр, который выполняет те же конкатенации, что и выше) работает полностью нормально.
В документации написано:
Конкатенация выражений затрудняет рассуждение о том, сочетание конкатенированных значений небезопасно для использования и может легко приводят к XSS.
Ну да, статический URL-адрес всегда легче оценить, чем конкатенированный, я вижу там пункт. Однако мне нередко приходится иметь REST-API, у которых есть URL-адреса, которые могут быть построены путем простой конкатенации и что конкатенация должна быть выполнена. Я могу сделать это в контроллере или даже на стороне сервера, но , как это улучшает что-либо, чтобы переместить конкатенацию в другом месте? И , что является рекомендуемым способом решения проблемы?
UPDATE
Ниже приведена демонстрация ошибки: http://cipher-code.de/tmp/angular3/index.xhtml
Возможно, это связано с тем, что страница является XML.