jquery $.post()中data和status的数据是怎么来的
最近开发jQuery插件时用到了callback回调函数,$.post(url,paramet,function(data,status){})中是一种典型的通过回调函数来处理返回数据,大概很多人都不知道这里的返回的data数据和status返回状态到底是怎么来的吧,为了搞清楚怎么回事,在连续百度谷歌了将近10个小时之后我放弃了,实在是找不到这方面一个通俗易懂又简单的解释。于是自己试了很多次去模拟了一个类似$.post回调函数的数据获取的例子。
解开神秘面纱代码如下:
<script type="text/javascript"> //主函数,带有一个callback参数,名字可以自己定。 $.GoGoGo = function (callback) { //函数体。 alert("GoGoGo正在执行"); //执行callback参数指向的函数,并给了两个参数10和success。 callback("10","success"); }; </script> <script type="text/javascript"> //主函数的调用,带有一个回调函数作为参数, //回调函数中的data,status也可以自己定义,只是顺序不变,跟post一样的,当然也可以不用这个参数。 $.GoGoGo(function (data, status) { //使用回调函数的参数。 alert(status); alert(data); }); </script>
废话没有,先看效果:
代码看上去有一点绕,我自己也只能找个抽象的理解。
回调函数的执行命令以及回调函数的参数在主函数体中的,而回调函数的具体执行代码函数体则是在外面主函数体参数中传递进来的一个函数参数
看上去像是在回调函数在主函数体里面传递参数到外面的函数中,但是回调函数本身的执行代码缺又在外面传入的函数执行,
并且可以在外面传入函数时获取函数体中回调函数调用时传入的参数,看上去非常非常绕,看来只能意会,不可言传,
由于资料缺乏,各种困难,所以本文不保证正确性,如有什么错误地方,请高手指正。
这里说的有点绕,我通俗的补充一下,就用post来作解析:
首先,post函数定义了请求的地址,参数,还有一个回调函数。
而post的概念就是
“我执行的时候,需要你给我地址和参数,然后我执行完了,就完了,但是如果开发人员你,需要用到我返回的数据和状态,你要用,怎么办呢?
那没关系,不是还有一个回调函数吗?我再提供一个回调函数给你,至于你想怎么用,就用这个回调函数实现,于是我只把返回的数据,状态放在参数列表里面,并且下一个”执行“你外部函数的命令,
具体怎么实现,你要怎么用,是你开发人员的事了。”
您可能还会对这些文章感兴趣
2016-12-20 1,787次只会用jQuery前端到底low不low?
如果你之前没有看过我的《前端工程师如何月薪过4万》这里建议大家仔细读读一下,因为里面有整个前端工程师成长的技术路线图和我的故事。同时很多小伙伴问我的学历后来没再考考么,我是考了成考的北京航空航天大学,也马上快毕业了。不过我觉得这件事不足为提,因为国...
2016-12-17 722次jquery的$().each,$.each的区别
在jquery中,遍历对象和数组,经常会用到$().each和$.each(),两个方法。两个方法是有区别的,从而这两个方法在针对不同的操作上,显示了各自的特点。 $().each,对于这个方法,在dom处理上面用的较多。如果页面有多个input标签类型为checkbox,对于这时用$().each来...
2016-12-15 1,854次jquery加载外部文件(.txt .html)显示在网页上
在web开发中常常需要用到jquery去动态的加载文件显示在网页上面,下面是实现的小方法,希望给大家一点提示,达到抛砖引玉的作用哦!!! 效果图: 要加载显示的文件: 网页加载效果: html代码截图: jquery代码截图: 转载请注明:jquery加载外部文件(.txt ....
2016-12-15 665次javascript实现网页倒计时
web开发中常常需要使用到网页倒计时功能,下面是实现方法: 效果图: 代码截图: 转载请注明:javascript实现网页倒计时 - 编程知识库
大家正在看
- linux 系统中Mysql 进程占用cpu过高的解决
- 二类电商是什么意思? 二类电商有哪些?暴利二类电商还好做吗?
- 【二类电商广点通投放指南】二类电商广点通投放值不值
- 密码保护:支付宝突破微信封锁唤起支付宝代码
- Host is not allowed to connect to this MySQL server解决方法
- 密码保护:移动端js自动复制代码
- linux数据库调优,WordPress MySQL占用cpu高数据库优化
- 2017 年十大网页设计趋势
- 网页端的VR实现离我们还远么?
- 最完整的Chrome浏览器客户端调试大全
- iPhone用户人均每天遭电话骚扰1次
- 3G电子化销售服务系统
- Java WeakReference的理解与使用
- 搞清楚 Python traceback