0

后台返回给我的接口中,有一个图片的绝对路径。比如后台ip是11.11.1,图片路径是/default.jpg。我在网址中输入11.11.1/default.jpg可以看到图片,但是却显示不出来
我是通过客户端发送请求,用node写了代理,得到响应后,拿到图片路径信息后给到img标签的src属性。

后台给的这部分的接口数据是这样的:

"data": {
        "list": [{
            "picture ": "/default.jpg "
        }]
    }

我的js代码

var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function() {
            if (xhr.readyState == 4) {
                if (xhr.status >= 200 && xhr.status < 300 || xhr.status == 304) {
                    var text = JSON.parse(xhr.responseText);
                    var imgsrc= text["data"]["list"][0]["picture"];
                    document.getElementsByTagName('img')[0].setAttribute('src', imgsrc);
                } else {
                    alert("error: " + xhr.status);
                }
            }
        }
        var url = "/Blog/listAll/1"
        xhr.open("get", url, true);
        xhr.send(null);

我的node代理代码

else if (pathname == '/default.jpg') {
        (function() {                             
            var options = {
                host: "11.11.1", 
                path: pathname, 
                method: 'get' 
            };
            console.log(pathname);
            let req = http.request(options, function(req) { 
                req.on("data", function(chunk) {
                    sendmsg += chunk; 
                });
                req.on("end", function(d) { 
                    var list = JSON.stringify(sendmsg); 
                    response.writeHead(200);
                    response.end(sendmsg);
                });
            });
            req.end(); 
        })()
    }      

然后也没有报错,就是图片显示不出来
图片描述

2018-06-13 提问
4 个回答
1

已采纳
var text = JSON.parse(xhr.responseText);
var data = text["data"]["list"][0]["picture"];
document.getElementsByTagName('img')[0].setAttribute('src', imgsrc);

imgsrc 找不到哇

1

你可以右键看下src里面的地址是什么,然后再看下network里面这张图片请求的路径到底是什么

0

我觉得你应该在noderesponse写个头部,规定图片的编码格式,比如utf-8,或者gbk2312什么的。

0

原生ajax 兄弟你有点牛啊

撰写答案

你可能感兴趣的

推广链接