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

来源:6-2 实现数据层与UI渲染连调

暴走大熊

2016-05-30

<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
	          }
	      }	

http://szimg.mukewang.com/574ba5da0001985103130110.jpg

写回答

7回答

远人

2016-05-30

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

0
3
暴走大熊
非常感谢!
2016-05-30
共3条回复

扎克悟空

2016-08-05

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

4
0

竹之同学

2016-06-19

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

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

2
1
qq_安静倾听感悟走向巅峰_0
机智!!!
2016-10-24
共1条回复

超高校级的IT民工

2016-06-28

我也是,数据一片空白

0
0

minixu

2016-06-11

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

0
0

HTML5独立开发书城Web App

最前沿前端技术精讲, HTML5 、Vue.js 、Koa 、zepto 综合运用

3387 学习 · 686 问题

查看课程