은 분명 수 있습니다,하지만 여전히 나는 여기에 기본 지식의 부족 해요.레일 : format.js 또는 format.json, 또는 둘 다?
내부의 컨트롤러를 사용할 수 있습니까? 아니면 항상 자바 스크립트입니까? 둘 다 동일합니까?
은 분명 수 있습니다,하지만 여전히 나는 여기에 기본 지식의 부족 해요.레일 : format.js 또는 format.json, 또는 둘 다?
내부의 컨트롤러를 사용할 수 있습니까? 아니면 항상 자바 스크립트입니까? 둘 다 동일합니까?
레일즈 3.1의 유일한 차이점은 포매터가 js이면 대답이 일반 텍스트로 전송된다는 것입니다. json이면 json으로 인코딩됩니다.
경우
format.json {
render :json => @accounts.map(&:attributes)
}
서버 전송
format.json :data:application/json;base64,
경우 format.js
format.js {
render :json => @accounts.map(&:attributes)
}
서버 전송 :
[{"id":33,"email":"[email protected]"}]
json
및 js
응답의 두 가지 종류가 있습니다 그들은 레일 JSON은 자바 스크립트의 부분 집합으로 간주 될 수있다하더라도
Mime::Type.register "text/javascript", :js, %w(application/javascript application/x-javascript)
Mime::Type.register "application/json", :json, %w(text/x-json application/jsonrequest)
에서 서로 다른 MIME 유형으로 정의되어, 모든 자바 스크립트 응답은 실제로 JSON 응답입니다.
동일한 행동 JSON과 JS로 응답 할 수 있습니다.
예를 들어, API 호출에 Json으로 응답하고 내부 Ajax 호출에 JavaScript (아마도 RJS 사용)로 응답하는 동작이있을 수 있습니다.
정답 – Donato
그들은 분리 된 MIME 형식이기 때문에 둘 다 사용할 수 있다고 생각합니다. 왜 그것을 시도하고 볼 수 있습니까? –