2014-09-08 6 views
1

두 HTML 페이지가 있지만 출력이 js에 의해 수행 된 일부 계산 일 뿐이라는 매우 간단한 앱을 작성하고 싶습니다.angularjs가있는 html 대신 json을 렌더링하십시오.

내 컨트롤러에서 json 출력을 렌더링하고 html 파일을 렌더링하지 않습니다. angularjs로 어떻게 할 수 있습니까?

+1

수 없습니다. 서버 측 언어를 사용해야 할 것 같습니다. – mingos

+0

json을 출력하려면 컨테이너가 필요합니다. 텍스트 영역이나 그런 식으로 보여줄 계획이 있습니까? – CMR

+0

이 형식으로 반환하고 싶습니다. http://en.gravatar.com/jack.json –

답변

2

문제가 JSON 문서를 반환되는 콘텐츠가 콘텐츠 유형 application/json을 가진 하나의 요청이 될 것이라는 것이다.

프론트 엔드 라이브러리 인 Angular.js를 원한다면 HTML 문서를 요청하고 (프로세스에서 필요한 HTML 마크 업을 렌더링해야 함) angular.js 라이브러리에 대한 요청을해야합니다. 이후에 렌더링되는 것은 여전히 ​​HTML입니다 (내용 유형 : text/html).

그래서 대답은 : 아니오, Angular.js로는 할 수 없습니다.

올바르게 형식이 지정된 JSON (및 그 밖의 것은 없음)과 올바른 Content-Type 헤더를 출력하려면 서버 측 스크립트가 필요합니다.

0

json이라고하는 AngularJS 모듈이 있습니다. 출력물의 필터로 사용하십시오. (HTML 템플릿에서 바인딩)

사용법 : (자바 스크립트에서)

{{ json_expression | json }} 

사용법 :

$filter('json')(object) 

object가 배열 및 기본 포함

이 자바 스크립트 객체 (이다 유형)을 필터링합니다.

예 :

<pre>{{ {'name':'value'} | json }}</pre> 

출력 :

{ 
    "name": "value" 
} 
+0

그래서 단지 hson이 아닌 json 만 렌더링하거나 반환하는 방법은 없습니다. 귀하의 솔루션은 여전히 ​​매우 많이 사용하고 있습니다. –

+0

HTML없이이 필터를 사용할 수 있습니다. 나는 나의 대답을 업데이트했다. 희망이 도움이됩니다. –

관련 문제