为什么xhr.onreadystatechange没反应?

我想连一个天气预报的api, 但连接有问题.代码如下:


var data = document.getElementById("weather");

    console.log(1);

    function fun_weather(url){

        var xhr = new XMLHttpRequest()

        xhr.open("GET", url);

        console.log(2);

        console.log(xhr.readyState);    

        xhr.onreadystatechange = function(){

            console.log(3);


            switch(xhr.readyState){

            case 0:

                console.log("a");

                break;

            case 1:

                console.log("b");

                break;

            case 2:

                console.log("c");

                break;

            case 3:

                console.log("d");

                break;

            case 4:

                console.log("e");

                data.innerHTML = xhr.responseText;

                break;

        }

        console.log(4);


        xhr.send();


    }

}

fun_weather("https://free-api.heweather.com/s6/weather/forecast?location=chongqing&key=*");

console的信息:

https://img3.mukewang.com/5c88c04d000114cf08000060.jpg


可以看到程序到xhr.onreadystatechange就停了,难道是readystate没变吗?


幕布斯7119047
浏览 1774回答 2
2回答

SMILET

你把这个代码放在 onreadstatechange 里面了,,,拿到外面来就行    xhr.send();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript