programing

Rails의 j 기능은 무엇을 합니까?

skycolor 2023. 3. 28. 21:30
반응형

Rails의 j 기능은 무엇을 합니까?

우연히 블로그를 봤는데j기능을 합니다.에이잭스 스타일 페이지 업데이트에 사용하고 있었어요.

$('#cart').html("<%=j render @cart %>");

그들이 부분적인 부분을 사용해서cart부분적이지만, 의 요점은 무엇입니까?j문자열을 JavaScript가 받아들일 수 있는 것으로 변환한다는 기사를 몇 개 찾았습니다만, 그게 무슨 뜻일까요?

피터가 실제로 정답을 올렸어요.하지만 자세히 설명하겠습니다.

아약스의 기본 콘셉트는 잘 아시겠죠?예를 들어, 아약스 방식으로 코멘트를 작성할 수 있도록 합시다.철도에서는 POST 요구에 응답할 수 있습니다.CommentsController경유:

def create
  @comment = Comment.new(params[:comment])
  respond_to do |format|
    render.js
  end
end

즉, 클라이언트로부터의 (jquery/javascript 경유)Ajax 요구가 에 송신되면, 포맷이 인식됩니다(jquery/javascript.js) 및 _create.disc.erb 파셜로 응답합니다.그런 다음 파셜은 다음과 같이 새 의견을 렌더링합니다.

$('.comments').append("<%=j render @comment %>");

이제 j 또는 excape_javascript 메서드로 이동합니다.일부 악의적인 사용자가 javascript를 포함한 코멘트를 제출할 수 있습니다.이 코멘트는, 다음의 항목을 사용하지 않는 한, 당신의 페이지에서 실행됩니다.j어떤 방법

JavaScript 세그먼트의 캐리지 리턴 및 단일 따옴표 및 이중 따옴표를 이스케이프합니다.

따라서 브라우저에서 코드가 실행되지 않습니다.

escape_javascript(javascript)

JavaScript 세그먼트의 캐리지 리턴 및 단일 따옴표 및 이중 따옴표를 이스케이프합니다.

에일리어스 j()를 통해서도 사용할 수 있습니다.

철도 관련 자료에서요

언급URL : https://stackoverflow.com/questions/12518526/what-does-the-j-function-in-rails-do

반응형