2008-09-24 12 views
0

나는 웹 페이지에 다음하지만 서버로부터 응답을 얻을 수를 사용하고 있습니다를 사용하여 Rails 애플리케이션의 서버 측 프로세스 모니터링 그러면 fmfiles_controller.rb에서 파일을 행복하게 처리하고 올바른 결과를 얻습니다 (양식의 제출 단추대로). '// alert ('Hello ')'줄의 주석 처리를 제거하면 Hello를 2 초 간격으로 말하는 대화 상자가 나타납니다.AJAX XMLHttpRequest를

그러나 서버는 실패한 시도조차도 '파일'에 'progress_monitor'메소드에 대한 호출을 기록하지 않습니다.

내가 링크

<a href="#" onclick="updateProgress();">Run</a> 

는, 서버에 호출을 응답을 취득하고 대화 상자를 표시를 클릭합니다, 그래서 경로와 구문을 가정 이름이 모두 확인됩니다.

나는 이것이 왜 작동하지 않는지 정말로 알지 못합니다. 같은 컨트롤러에있는 두 개의 메소드가 URL을 통해 호출되기 때문입니까?

나는 OS X 10.5.5에 개발 환경에서 레일 2.1.0를 사용하고 있는데 이것은 다른 question에서에 다음과 사파리 3.1.2

(NB를 사용하여,하지만 난 그것을받을만한 충분히 서로 다른 생각의 자신의 질문입니다.)

답변

2

'progress_monitor'에 대한 호출에 대한 로그 파일에 메시지가 표시되지 않으면 요청이 전송되지 않을 가능성이 있습니다.

이 시도 :

  1. 대신 Ajax.Request로에 대한 상대 URL의 전체 URL을 사용해보십시오. Ajax.Request를 사용하는 일부 브라우저에서 상대 URL에 문제가 있습니다.

  2. 파이어 버그 또는 IE 개발자 툴바를 사용합니다. progress_monitor에 대한 호출이 작동하는지 여부를 확인할 수 있어야합니다. Java 스크립트 오류가있는 경우이 도구를 사용하여 오류가 명확하게 표시됩니다.

+0

1. 나는 그것을 시도하지만 URL은 내가 메소드의 호출에 POST를 사용할 필요가 GET, 사용, 그래서 난 그냥 방화범을 설치에서 액션 컨트롤러 예외 –

+0

2를 얻을 ('나는 천국 말을 부끄러워 t 그것을 사용하고있다) 나는 파이어 폭스에서 요청을 시도했다, 그것은 작동한다! 나는 사파리 버그라고 생각한다. 나는 그것을 찾을 것이며, 아무것도 찾으면 대답을 추가 할 것이다. –