从本地服务器收集图像(Acquia Dev Desktop)

时间:2016-09-23 06:40:47

标签: angularjs json

我尝试使用此Angular Js代码从本地服务器(Acquia Dev Desktop)收集数据和图像

控制器

var app = angular.module('App', []);
app.controller('Ctrl', function($scope, $http) {
     $scope.images = [];
    $http({
        method : "GET",
        url    : 'http://docroot.com.dd:8083/catalogue/11/images/json'
    }).then(function mySucces(response) {
        $scope.images = response.data;
    }, function myError(response) {
        $scope.images = response.statusText;
    });
});

Json

[{"image":" <a href=\"http:\/\/docroot.com.dd:8083\/sites\/docroot.com.dd\/files\/catalogues\/2016-09\/images\/Pty%20Prs.compressedjpg_Page1.jpg\">Property Press.compressedjpg_Page1.jpg<\/a>"}]

// i got out put like this : 

 <a href=\"http:\/\/docroot.com.dd:8083\/sites\/docroot.com.dd\/files\/catalogues\/2016-09\/images\/Pty%20Prs.compressedjpg_Page1.jpg\">Property Press.compressedjpg_Page1.jpg<\/a>

我只需要收集图片网址而不是整个链接,

1 个答案:

答案 0 :(得分:0)

好吧,用JSON发送HTML元素似乎并不好,但无论如何你都无法改变它......

就我而言,我将使用内置的XML解析器解析html字符串。

以下是this answer

的代码

//XML parser
var parseXml;

if (typeof window.DOMParser != "undefined") {
    parseXml = function(xmlStr) {
        //should work with any recent browser
        return ( new window.DOMParser()).parseFromString(xmlStr, "text/xml");
    };
} else if (typeof window.ActiveXObject != "undefined" &&
       new window.ActiveXObject("Microsoft.XMLDOM")) {
    //This part is intended to very old browsers
    parseXml = function(xmlStr) {
        var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.loadXML(xmlStr);
        return xmlDoc;
    };
} else {
    throw new Error("No XML parser found");
}

//Your code

var jsonContent= [{"image":" <a href=\"http:\/\/docroot.com.dd:8083\/sites\/docroot.com.dd\/files\/catalogues\/2016-09\/images\/Pty%20Prs.compressedjpg_Page1.jpg\">Property Press.compressedjpg_Page1.jpg<\/a>"}];

var elem = jsonContent[0].image;

var link = parseXml(elem);

try {
	document.getElementById("out").innerHTML = link.documentElement.getAttribute("href");
} catch (e) {
  alert(e);
}
<span id="out" />