请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,我的代码也是data undefined,实在找不到问题出在哪里了。。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<script src="lib/zepto.min.js"></script>
        <script>
            window.jQuery = $;
        </script>
        <script src="js/jquery.base64.js"></script>
        <script src="js/jquery.jsonp.js"></script>
 
        <script>
        (function(){
            var Util=(function(){
                var prefix="html5_reader_"
                var StorageGetter=function(key){
                    return localStorage.getItem(prefix+key);
                }
                var StorageSetter=function(key,val){
                    return localStorage.setItem(prefix+key,val);
                }
                var getBSONP = function(url,callback){
                    return $.jsonp({
                        url:url,
                        cache:true,
                        callback:'duokan_fiction_chapter',
                        success:function(result){
                            debugger
                            var data = $.base64.decode(result);
                            var json = decodeURIComponent(escape(data));
                            callback(data);
                        }
                    })
                }
                return{
                   getBSONP:getBSONP, 
                   StorageGetter:StorageGetter,
                   StorageSetter:StorageSetter
                }
              })();
               
               
          
              var Win = $(window);
              var Doc = $(document);
               
              //节点缓存声明
              var Dom = {
                  top_nav:$('#top-nav'),
                  bottom_nav:$('.bottom_content'),
                  nav_pannel:$('.nav-pannel,.nav-pannel-bk'),
                  bk_container:$('#bk-container'),
                  bottomRight:$('.bottom_right .item-wrap')
              }
           
          //主程序
          function main(){
              var readerModel = ReaderModel();
              readerModel.init();
              EvetHanlder();
          }
           
          //获取阅读内容
          function ReaderModel(){ 
              var Chapter_id;
              var init = function(){
                  getFictionInfo(function(){
                      getCurChapterContent(Chapter_id,function(){
                           
                      });
                  })
              }
              var getFictionInfo = function(callback){
                  $.get('data/chapter.json',function(data){
                      
                      Chapter_id=data.chapters[1].chapter_id;
                      callback&&callback(data); 
                  },'json');
              }
              var getCurChapterContent = function(chapter_id,callback){
                  $.get('data/data'+chapter_id+'.json',function(data){
                      if(data.result == 0){
                          var url = data.jsonp;
                          Util.getBSONP(url,function(data){
                              callback&&callback(data);
                          });
                      }
                  },'json')
              }
           
              return{
                  init:init
              }
          }  

https://img1.sycdn.imooc.com/szimg//574ba5da0001985103130110.jpg

正在回答

插入代码

5回答

远人 2016-05-30 10:32:07

之前有同学出现过这个问题,检查一下你引入的jquery.base64.js这个文件是否是正确的?

0 回复 有任何疑惑可以回复我~
  • 提问者 暴走大熊 #1
    还是不行,我把项目演示里的base64.js文件拿来覆盖我的文件,提交运行还是一样。。。。。而且我的$.base64.decode都已经定位到function _decode(s)方法了,但data上还是显示未定义。。。。
    回复 有任何疑惑可以回复我~ 2016-05-30 11:08:56
  • 提问者 暴走大熊 #2
    找到问题所在了,其实没有问题,我把debugger放在这个回调函数最后就可以顺利定义到data和json的内容了。。。。
    回复 有任何疑惑可以回复我~ 2016-05-30 11:50:42
  • 提问者 暴走大熊 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2016-05-30 12:30:48
扎克悟空 2016-08-05 16:34:37

再检查下debugger的位置呢?应该是在getCurChapterContent方法Util.getBSONP里第一行哦,我之前插在getBSONP里就显示data undefined,其实是忘清除之前的debugger了。

4 回复 有任何疑惑可以回复我~
竹之同学 2016-06-19 13:24:16

我觉得是因为你还没有debugger到下一步

因为我也遇到了这个问题,你跳到下个函数就好了

2 回复 有任何疑惑可以回复我~
超高校级的IT民工 2016-06-28 11:42:49

我也是,数据一片空白

0 回复 有任何疑惑可以回复我~
minixu 2016-06-11 10:16:37

我也是这个问题。没改动过jquery.base64.js这个文件,想下个源码替换下。还报木马..咋办啊T T

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号