2012-02-16 5 views
0

레일이 부분적으로 ajaxed 인 테이블을 포함하는 페이지가 있습니다. 초기 목표는 시간 엔티티에서 용량 속성을 증가시키는 것입니다. 다음은 표 Image의 시각적 인 모습입니다. 더하기/빼기 단추를 클릭하면 용량 속성이 PUT 요청을 사용하여 증가합니다. show.html.erb Pastie의 코드를 볼 수 있습니다. 82 행에 my $ .put이 표시됩니다.자동으로 로그 아웃하는 Ajax 파일

function _ajax_request(url, data, callback, type, method) { 
    return jQuery.ajax({ 
     type: 'PUT', 
     url: "slot_days/show", 
     data: data, 
     success: function(result) 
     { 
      callback(); 
     } 
    }); 
} 

jQuery.extend({ 
    put: function(url, data, callback, type) { 
     return _ajax_request(url, data, callback, type, 'PUT'); 
}}); 

내가 <%=javascript_include_tag%>을 수행하여이 ajax_request_PUT 파일을 포함하는 show.html.erb 페이지가 : 지금 내 ajax_request_PUT에 대한 다음과 같은 코드가 있습니다. 이 파일을 show.html.erb 파일에 포함 시키면 PUT http://localhost:300/XXXX/xxx/show 401 "+"버튼을 클릭 한 후 무단으로 78ms가되었습니다. 액세스하려고 시도한 페이지를 볼 수 없다는 것을 알았습니다. 당신이 로그인 할 때까지로드 될 것입니다. 놀랍게도 이상한 것은 어느 것입니까. 이 응용 프로그램을 사용하려면 로그인해야합니다. 내가 페이지에서 빠져 나오면 다시 로그인하도록 요청 받았는데 왜 이런 일을하는지 알 수 없습니다. 내가 아는 것은 또한 터미널에 다음 메시지가 나타납니다. WARNING: Can't verify CSRF token authenticity<%=javascript_include_tag%>을 제거했는데이 문제가 해결되었지만 내 테이블이 더 이상 부분적으로 ajaxed되지 않았 음을 알았습니다. 거기에 비슷한 문제가있는 사람이 있습니까?

답변

0

나는 동일한 문제가 있었으며 javascript와 MSIE에서만 발생했습니다. 해결책은 문서 머리 부분 또는 <body> 태그 내부에서 자바 스크립트를 이동하는 것이지만 그럴듯한 최상위 수준으로 이동하는 것입니다.

+0

응답 해 주셔서 감사합니다. 방금 application.html.erb를 열었으며 헤드에는 '% % csrf_meta_tag %>'가 있습니다. 이제는 질문이 있습니다. 그곳으로 옮기고 다른 갈등이없는 것이 안전할까요? – David

+0

나는 이것을 에 넣으려고했지만''도 시도해 보았다. – David

+0

브라우저의 콘솔에 js 오류가 있습니까? – core1024

관련 문제