Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了跨域请求 数据返回却无法执行回调函数的原因之一大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

由于公司项目的问题,导致跨域的情况比较多。既要虑安全性问题又要解决跨域。只能从中做一些取舍。

今天发现的问题是,前端已经获取后台返回的CALLBACK函数,但是无论如何都不执行。这可把我急的,之前也写过一次跨域请求。现在@L_616_4@同样写好的函数,却是一个能执行一个不能执行。多次比对发现返回的内容也没有错。最后发现原因是我把回调函数写在了

$(function(){
//我把跨域请求也写在了这个匿名函数
function callBACk(res)//回调函数也写在匿名函数{

}

});

我将回调函数拿出来放在$(function(){})之外就能够执行了。那么为什么会出现这样的情况呢?
请先运行下面代码

$(function(){

    function test() {   
        console.log('在外面不可以@L_616_4@已经准备好的函数');

    }

})
test();

上面的代码提示出错。test()函数找不到,因为test()函数是匿名函数的内部成员方法,同样JSONP跨域请求也是如此,请求后返回的回调函数相当于上面的test();当你的test是定义在匿名函数内部。则无法访问。而且浏览器还不会提示你这个回调函数找不到。

出现这种低级错误的原因主要还是归咎于自己学得不精通,一般都会把所有函数写在匿名函数内部。学得越多越杂,思的东西就越少,写了这么久我都没有意识到JS和其他后台语言不通。能够在方法里面定义方法。呵呵。。。要走的路还长着呢,现在我已经开始明确方向并往前端走了。JS方面的专业书籍还没有看过。有空得学精通。JS是一门很高端的语言。对的,高端。在我看来。

这个内部函数让我想起了闭包的内容下一篇就记录下闭包这个东西吧。

大佬总结

以上是大佬教程为你收集整理的跨域请求 数据返回却无法执行回调函数的原因之一全部内容,希望文章能够帮你解决跨域请求 数据返回却无法执行回调函数的原因之一所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。