在ionic的controller里使用superagent来抓取网页数据,然后在页面上显示。 但是不知道为什么,app一开始就无法加载,显示白屏, 不知道是不是抓取数据影响了app的加载。 大家有没有什么解决办法??
浏览器调试白屏还是真机测试白屏?肯定是js 里有错误,好好检查下~
@vlover 在emulate启动的时候,模拟机直接就白屏,不知道是不是因为抓数据的缘故影响到了程序加载
不可能因为抓数据影响了程序加载。。ionic 中不会涉及到跨域问题吗?superagent 在 webview 里面应该也是受浏览器安全策略影响的吧
@alsotang 这段代码我单独执行过,是没有问题,可以抓取到数据的,就抓一个href和title js代码:
var url = 'http://www.neusoft.edu.cn/';
request(url, function (err, res, body) {
if (err) console.log(err);
var top = {};
var $ = cheerio.load(body);
$('#news .topline a.toptitle').each(function (index, element) {
var $element = $(element);
top.href = $element.attr('href');
top.title = $element.text();
});
$scope.top = top;
//console.log(top);
});
angular代码:
<ion-item ng-repeat="playlist in playlists">
{{playlist.href}}
{{playlist.title}}
</ion-item>
但是当我emulate模拟机的时候,启动的非常慢,大约5秒后,ionic的图标消失,然后就陷入白屏。。。。不知道是为什么。。。
@alsotang 这个帖子问题在:它为啥在ionic的controller抓取东西?不是应该抓取,入库,然后ionic只负责render么?
@i5ting 因为一共抓取的数据不超过10条,希望可以即抓及看,也不保存,希望大家能帮忙解决下。。。。
@qianjiahao 那就ajax取不行么?不然你这样的会很痛苦啊
先别模拟器,浏览器里面呢?
@i5ting 怎么用ajax取呀。。。小弟不太明白意思。。。
@ilanceli 我建个js文件,贴上代码,node 执行,可以正常去到数据,打印在控制台,到了ionic里不知道哪里出了问题了。。
问题最后解决了,感谢小俞大神~~ 附上代码,希望新手少走弯路
@qianjiahao 怎么解决的?问题出在哪儿?
@vlover 额,其实当时我是用模拟器看的,所以看不到错误所在,后来我用浏览器来调试,就找到错误,就调好了