http.get尝试检索图像时,解析时,我不需要它

http.get尝试检索图像时,解析时,我不需要它

问题描述:

function getHTMLSource(url) { 
     return $http.get(url).then(function(response) { 
     var html = response.data; 
     url = getDetailPage(html) 
     return url ; 
    } 
)}; 

getHTMLSource('http://www.footpatrol.co.uk/s:282524/search=282524/') 

每当我尝试上面的代码,我在我的控制台GET http://localhost:9000/templates/footpatrol.co.uk/_assets/images/content/footpatrol_logo.png 404 (Not Found)中收到以下错误信息。http.get尝试检索图像时,解析时,我不需要它

该图像似乎存在于http://www.footpatrol.co.uk/templates/footpatrol.co.uk/_assets/images/content/footpatrol_logo.png,但由于我使用Chrome的Allow-Control-Allow-Origin插件在本地主机上运行scipt,因此它看起来不能很好地播放。我不想获得我只想要源代码的图像,反正有这个吗?

更新:我想可能是我的解析器造成问题,因为错误信息在这里抛出

function getDetailPage(html) { 
    var temp = document.createElement('div'); 
    temp.innerHTML = html; 
    var a = temp.querySelector('a[class*=\'fp-product-thumb-link\']'); 
    var partOfUrl = a.href; 
    var splitUrl = partOfUrl.split('/'); 
    var url = 'http://www.footpatrol.co.uk/' + splitUrl[3] + '/' + splitUrl[4]; 
    var url = 'http://www.footpatrol.co.uk/' + splitUrl[3] + '/' + splitUrl[4]; 
    $log.debug('Detail page url found: ' + url); 
    return url; 
} 
+0

我不明白为什么这段代码会导致这个错误。你在做什么,你得到的HTML。你想达到什么目的? –

+0

我只是解析它的信息。以下是日志:http://imgur.com/a/Qxc5P – methuselah

+0

我已更新了有关错误首次抛出的更多详细信息的问题。这可能归结于我的解析方法吗? – methuselah

而不是创建元素,使用DOMParser API:

function getDetailPage(html) { 
     //var temp = document.createElement('div'); 
     //temp.innerHTML = html; 
     var parser = new DOMParser(); 
     var temp = parser.parseFromString(html, "text/html"); 
     var a = temp.querySelector('a[class*=\'fp-product-thumb-link\']'); 
     //var partOfUrl = a.href; 
     //console.log(partOfUrl); 
     //var splitUrl = partOfUrl.split('/'); 
     //var url = 'http://www.footpatrol.co.uk/' + splitUrl[3] + '/' + splitUrl[4]; 
     var elem = angular.element(a); 
     var url = 'http://www.footpatrol.co.uk/' + elem.attr('href'); 
     console.debug('Detail page url found: ' + url); 
     return url; 
} 

找到详细页面网址:http://www.footpatrol.co.uk//footwear/282524-air-retro-15-obsidian.html