문제

각 행에 대한 삭제 링크가 있는 HTML 테이블에 간단한 레코드 목록이 있습니다.삭제 링크는 다음과 같은 고정 URL에 대한 AJAX 게시물 요청을 전송합니다."/delete/record/5"

AJAX 요청은 jquery를 사용하여 생성됩니다. .ajax() https를 사용하는 서버에서 실행할 때 POST 메시지로 호출합니다.이 호출은 OSX/Windows 아키텍처의 Firefox 3에서 실패합니다.제가 테스트한 다른 모든 브라우저(OSX/Windows:크롬, 사파리, IE7.)

요청은 https 사이트에서 나오고 동일한 https 사이트로 이동합니다.하지만 프로세스 도중 어딘가에서 원래 요청이 http로 시작하고 우리 서버에서 http->https에서 요청을 보내려는 리디렉션 시도가 있고 Firefox는 해당 리디렉션을 일종의 위조로 거부한다고 생각합니다.

해본 경험이 있는 사람 있나요 .ajax() Firefox를 사용하여 https 사이트에서 JQuery를 호출합니까?요청에 "?var=xxx" 인수를 URL에 추가하면 해당 변수가 없는 경우보다 요청이 더 자주 작동하는 것 같습니다.

도움이 되었습니까?

해결책

HTTP 411 오류가 발생하는 것 같습니다.. 이 오류는 a를 보내는 경우 발생할 수 있습니다 POST 아무것도없이 요청합니다 data.

이 문제를 해결하려면 빈 개체를 추가하십시오 ({}) 로 data 귀하의 요청에 대한 재산 :

$.ajax({ 
    url: url, 
    type: 'POST', 
    data: {}, // <- set empty data 
    success: function(data, textStatus) { 
        // do something 
    } 
}); 

다른 팁

그럴 것 같지 않습니다 ...내가 당신을 의심하는 것이 아닙니다.하지만 Wireshark를 다운로드하고 HTTP 트래픽을 관찰하여 문제를 확인할 수 없는지 확인하는 것이 좋습니다.다른 브라우저에서 보낸 요청과 FF3에서 보낸 요청을 비교하고 어떤 종류의 응답이 돌아오는지 확인할 수 있습니다.실제로 jQuery가 FF3에서 올바르게 작동하지 않는 문제인 경우 제대로 작동하도록 일부 코드를 변경할 수 있습니다.

요청/응답의 모든 정보에 액세스 할 수있는 Firefox Live 헤더 확장자를 설치할 수 있습니다. 이렇게하면 차이가있을 것입니다.

Firefox에 플러그인이나 Greasemonkey 스크립트가 설치되어 있습니까?

HTTPS에서 jQuery ajax 요청에 문제가 없었습니다. 무엇을 살펴 보는 것이 좋습니다 개똥 벌레 당신이 아직하지 않았다면 나타납니다.

나는 얻었다 $.post 빈 개체를 data 매개 변수. 매개 변수 2의 빈 브래킷에 주목하십시오.

$.post(url, {}, function(response){ alert('done'); }, "json");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top