페이지를 언로드하기 전에 서버에 게시를하려고하는데 this을 따라 가면 정상적으로 작동합니다. 내 문제는 window.unload의 $ .post가 이후 언로드 된 입니다. 나는 signout 링크와 함께 그것을 시도하고 내 로그를 확인, 나는 다음과 같은 얻을 :언로드 후 Window.unload가 포스트를 트리거합니다.
Started GET "/signout" for 127.0.0.1 at 2012-11-22 00:15:08 +0800
Processing by SessionsController#destroy as HTML
Redirected to http://localhost:3000/
Completed 302 Found in 1ms
Started GET "/" for 127.0.0.1 at 2012-11-22 00:15:08 +0800
Processing by HomeController#index as HTML
Rendered home/index.html.erb within layouts/application (0.4ms)
Rendered layouts/_messages.html.erb (0.1ms)
Completed 200 OK in 13ms (Views: 12.9ms)
Started POST "/unloading" for 127.0.0.1 at 2012-11-22 00:15:08 +0800
Processing by HomeController#unloading as */*
Parameters: {"p1"=>"1"}
WARNING: Can't verify CSRF token authenticity
Completed 500 Internal Server Error in 0ms
NoMethodError (undefined method `id' for nil:NilClass):
app/controllers/home_controller.rb:43:in `unloading'
첫 번째 부분은 signout하고 다음 사용자가 다음는 포스트 ('/ 언')를 실행 루트로 리디렉션됩니다 .
'/ 언로드'를 먼저 실행 한 다음 언로드 작업이 무엇이든 실행하려면 방법이 있습니까?
나는 업데이트
$(window).unload ->
$.ajax {
async: false,
beforeSend: (xhr) ->
xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))
, url: '/unloading'
, type: 'Post'
, data: {
p1: '1'
}
}
그래서 내가 beforeunload하는 아약스 요청을 전송 한 내 JQuery와 포스트으로이 있고 그것을 작동했지만, 난 대화 상자를 제거하는 return null
을해야했다 표시되지 않는 경우 아약스가 여전히 대화 팝업 팝업을 표시하고 있기 때문에 표시됩니다 ('예/아니오'라고 대답하지 않아도이 페이지를 종료하고 싶습니다). 난 단지 지금은 크롬으로 그것을 시도하고 예상대로 작동하고, 또한
window.onbeforeunload ->
$.ajax {
async: false,
beforeSend: (xhr) ->
xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))
, url: '/unloading'
, type: 'Post'
, data: {
p1: '1'
}
}
return null
: 결과가 이것이다. 그러나 다른 브라우저에서 사용해보십시오.
죄송합니다. 답장을 좀 늦게 보내 주시면 죄송합니다. 이전에 beforeunload에 전체 Ajax 블록을 추가하려고 시도했지만 항상 '이 페이지를 종료 하시겠습니까?'라는 질문을 먼저 묻습니다. [object object]가 추가 된 메시지로 표시됩니다. 나는 전에 검색을했고 그 것이 beforeunload의 목적이라고 생각합니다 ... 어떻게 제거 할 수 있습니까? – index
그리고 페이지를 이미 언로드했을 때 언로드 이벤트가 트리거된다는 정보에 감사드립니다. – index
'beforeUnload' 함수에서'null'을 반환 해 봅니다. http://stackoverflow.com/questions/1119289/how-to-show-the-are-you-sure-you-want-to-navigate-away-from- 이 페이지 - 언제 - ch – nickaknudson