Jquery (1.3.2) $ .post 명령을 사용하여 레일즈 서버에 대한 ajax 호출을 시작합니다.
코드는 Safari 및 Google 크롬 (Mac)에서 훌륭하게 작동하지만 Firefox (3.5.7)에서이 코드를 사용하면 '406 Not Acceptable'이라는 이상한 오류가 나타납니다.
헤더를 보면 파이어 폭스가 'text/javascript'응답 만 받아 들였음을 나타냅니다. 응답 Content-Type은 'text/html'이었습니다. charset = utf-8 '.
Chrome에서 허용되는 유형은 'application/json, text/javascript, /, text/javascript'이고 응답 Content-Type은 'application/json'입니다. charset = utf-8 '.
나는 그것이 'text/html과'남아있는 곳 콘텐츠 형식이 실제로 파이어 폭스에서 크롬으로 변경되는 것이 아니라format.json do
render :json => @races.to_json, :content_type => 'text/javascript'
end
레일에에 '텍스트/자바 스크립트'콘텐츠 유형을 강제로했습니다.
다음은 아약스 호출을 트리거하는 데 사용한 코드입니다.
$.post(
"/locator",
params,
function(data){...},
"json"
);
Firefox에서이 작업을 수행 할 수있는 방법이 있습니까? 감사합니다.
폴 감사합니다. jQuery.ajaxSetup이 도움을주지 못했지만 처음 회신을 받았습니다. ajax 호출ajaxlocator.json 전용 레일에 특정 경로를 만들었으니 이제는 제대로 작동합니다! 감사합니다. . – jlfenaux
첫 번째 솔루션은 저에게도 효과적이었습니다, 폴 감사합니다! –