문제

이 기능을 작동 시키려고 노력하고 있습니다. 매개 변수 요청을합니다. url 그런 다음 responsetext를 보냅니다 callback 기능입니다.

그것은 단지 도착하는 것 같습니다 readyState 1 (Firebug 명령에 감사합니다).

여기있어:

function Request(url, callback){
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
    httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} else{
    return false;
}
httpRequest.onreadystatechange = function(){
    console.log(httpRequest.readyState);
    if (httpRequest.readyState == 4) {
        callback(httpRequest.responseText);
    }
};
console.log(httpRequest, url);
httpRequest.open('GET', url, true);
httpRequest.send(null);
}
도움이 되었습니까?

해결책

이 문제가 on readeptatechange 대신 onload 이벤트를 할당하는 문제를 해결했습니다.

function Request(url, callback){
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
    httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} else{
        return false;
}

var readyStateChange = function(){
    console.log(httpRequest.readyState);

    if (httpRequest.readyState == 4) {
                callback(httpRequest.responseText);
    }
};


if (isFirefox && firefoxVersion > 3) {
    httpRequest.onload = readyStateChange;
} else {
    httpRequest.onreadystatechange = readyStateChange;
}

console.log(httpRequest, url);
httpRequest.open('GET', url, true);
httpRequest.send(null);
}

다른 팁

해당 URL이 브라우저에서 직접 방문하여 실제로 응답하는지 확인하십시오.

다른 브라우저로 테스트하면 동일한 결과가 나타납니다.

일부 형태의 HTTP 모니터를 사용하여 클라이언트가 서버 대화를 볼 수 있습니다 (내가 가장 좋아하는 것은 바이올리니스트)

아마도 AJAX 요청은 데이터를 반환하지 않을 수 있습니다 (따라서 어떤 종류의 서버 측 오류). Firebug 콘솔에서 'xmlhttprequests 표시'옵션을 활성화하여 확인하십시오.

나는 또한 같은 문제에 직면했다. 아래 URL을 읽음으로써 내 것을 해결했습니다.

http://bytes.com/topic/javaScript/answers/548442-ajax-readystate-1-wall

기본적으로 httprequest의 이벤트 리스너로서 내 함수를 할당 할 때, readreadStateChange는 변수를 전달할 수 없습니다. HTTP Post 문자열 내부에 변수를 서버 백엔드에 포함시켜야합니다.

FF 3에 적합합니다. jQuery를 사용할 필요가 없습니다.

나는 Firefox에서도 같은 문제가 있었지만 Chrome에서는 그렇지 않았습니다.

문제는 내 응답이 MIME 타입이 "Application/Octet-stream"으로 설정했다는 것입니다.

"Text/HTML"으로 변경하면 Firefox에서도 작동했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top