2017-11-16 2 views
1

Firefox 용으로 실행되지 않는 HTTPRequest가 있습니다. 테스트 용으로 작성한 경고를 반환하므로 Google 크롬에서 실행됩니다.Firefox에 HTTPRequest가 아무 값도 반환하지 않습니다.

var htpr = new XMLHttpRequest(); 
    var url = "../something.php"; 
    var val = "pro_ID="+prod_id+"&quan="+quan; 
    alert("test ajx"); 
    htpr.open("POST", url, true); 
    htpr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    htpr.onreadystatechange = function(){ 
    if(htpr.readyState == 4 && htpr.status == 200){ 
     var dt = htpr.responseText; 
     alert(dt); 
    } 
} 
htpr.send(val); 
} 



if(isset($_POST['pro_ID'])) {  
    echo "Test"; 

} 
echo "test wrong"; 

업데이트 된 문제가 발견되었습니다.

아약스가 실행되기 전에 양식의 기본 새로 고침 기능이 페이지를 새로 고쳤다 고 생각되면 html 양식에서 트리거 될 ajax 함수가 있으므로 오류를 발견했습니다. 이제는 기본값을 방지하도록 양식을 설정합니다. 함수 "event.preventDefault()". 그리고 그것은 고정 된 것으로 보인다. 정말 이상한!

htpr.onreadystatechange = function(){ 

추가 : 대답은 통과하지 않는 이유

console.log(htpr); 

는 아마 당신을 보여줄 것이다 '코드 (200)를 상태 4'테스트 그 아래 문제를

+0

콘솔에 오류가 있습니까 (개발자 도구)? –

+0

@Ofir nope 전혀 오류가 없다. 크롬에서 완벽한 성능을 발휘하는 이유는 무엇일까? – Luke

+0

캐시 문제 일 수 있습니까? (이후 그것은 js 코드) –

답변

1

를 될 것이라고 생각하지 않았다.

Firefox의 '네트워크'탭을 선택할 수도 있습니다. XHR이 Chrome에서 코드 4xx 또는 5xx를 반환하면 해당 코드에 대한 콘솔 정보가 표시됩니다. Firefox에서는 XHR 요청 문제에 대한 정보가 없습니다. 네트워크에서 확인해야합니다 (문제가있는 요청은 빨간색 임).

+0

나는 ajax 함수 안에있는

양식에서 기본 새로 고침 기능을 아약스 실행하기 전에 페이지를 새로 고친 것 같아요, 그 오류를 발견, 이제 해당 기본값을 방지하기 위해 양식을 설정합니다 함수 "event.preventDefault()". 그리고 그것은 고정 된 것으로 보인다. 정말 이상한! 그게 문제가 될 줄은 몰랐어. – Luke

관련 문제