请稍等 ...
×

采纳答案成功!

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

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

<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下载
官方微信