我是一条有梦想的咸鱼

js跨域请求提示函数未定义的问题

 

我的代码是这么写的

window.onload=function(){

 

function sendRequest(){

    var script=document.getElementById("script");

   //360接口问题

    script.src="http://tq.360.cn/api/weatherquery/querys?app=tq360&code=101010200&_jsonp=callback";

   document.body.appendChild(script);

}

 

function  callback(data){

console.log(data);

}

}

当我执行这个代码的时候,就一直报错 我看了一遍代码 也没找到错误 

然后我就从新新建一个页面去测试 然后成功了 

我就知道是onload的原因了  因为 window.onload=function(){}

这里面的作用域是函数作用域

而script是在body里面创建的 所以它是全局作用域

所以就提示undefined了呗

<script>
function  callback(data){

console.log(data);

}


window.onload=function(){ function sendRequest(){ var script=document.getElementById("script"); //360接口问题 script.src="http://tq.360.cn/api/weatherquery/querys?app=tq360&code=101010200&_jsonp=callback"; document.body.appendChild(script); } }
</script>

这样就可以了

posted @ 2018-04-17 19:33  帅哥天下9  阅读(1118)  评论(0编辑  收藏  举报