Javascript 正在尝试从AJAX获取图像url,获取状态为0

Javascript 正在尝试从AJAX获取图像url,获取状态为0,javascript,html,ajax,http,xmlhttprequest,Javascript,Html,Ajax,Http,Xmlhttprequest,我有一个输入,说“xxx”。 服务器在GET方法中返回一个映像: 我所需要的只是在转到要显示的url时返回的图像。 为它编写了一个小脚本,但我总是得到status=0。我想知道为什么是这样,怎么可能是200 <!-- templates/homeDEV.html --> <html> <head> <title></title> <meta name="viewport" content="width=device

我有一个输入,说“xxx”。 服务器在GET方法中返回一个映像:

我所需要的只是在转到要显示的url时返回的图像。 为它编写了一个小脚本,但我总是得到status=0。我想知道为什么是这样,怎么可能是200

<!-- templates/homeDEV.html -->
<html>
<head>
    <title></title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
</head>
<body>

            <form method="GET">
                <p>AJAX Address: <input id="address" type="text" name="address"                             maxlength="64" size="64"></p>
                <p><input type="submit" value="Generate AJAX" onclick="loadImage()"/></p>
            </form>

            <script>
                function showImage(src) {
                    var img = document.createElement("img");
                    img.src = src;
                    document.body.appendChild(img);
                }

                function loadImage() {
                    var theReturn = document.getElementById('address').value;
                    var url = "https://monkey-g.herokuapp.com/monkey/" + theReturn;

                    var xhttp = new XMLHttpRequest();
                    xhttp.onreadystatechange = function () {

                        if (this.readyState == 4 && this.status == 200) {
                            showImage(url);
                        }
                    };

                    xhttp.open("GET", url, true);
                    xhttp.send();

                }
            </script>
</body>
</html>

AJAX地址:

函数showImage(src){ var img=document.createElement(“img”); img.src=src; 文件.正文.附件(img); } 函数loadImage(){ var theReturn=document.getElementById('address')。值; 变量url=”https://monkey-g.herokuapp.com/monkey/“+反过来; var xhttp=newXMLHttpRequest(); xhttp.onreadystatechange=函数(){ if(this.readyState==4&&this.status==200){ showImage(url); } }; xhttp.open(“GET”,url,true); xhttp.send(); }
单击表单中的提交按钮时,您正在运行JavaScript

这:

  • 启动Ajax请求
  • 提交表格
  • 离开页面
  • 取消Ajax请求(因为不再有任何JS来处理响应)
  • 加载新页面

  • 删除表单,并将按钮设置为JS(
    type=“button”
    )按钮。

    您不需要使用AJAX创建图像。无法将AJAX请求中的图像填充到图像标记中。图像标签本身就是您所需要的

    另外,正如Quentin所说,如果您使用表单,您的页面将在ajax调用之前刷新

    函数loadImage(){
    var theReturn=document.getElementById('address')。值;
    变量url=”http://monkey-g.herokuapp.com/monkey/“+反过来;
    var img=新图像();
    img.src=url;
    文件.正文.附件(img);
    }
    AJAX地址:

    你的

    `@Ghostrydr-胡说八道。这不是XHTML。那么ajax是否返回图像或图像的URL?你在自相矛盾。。是哪一个?@Ghostrydr-你又看了一遍。。有一个水平滚动条。@Quentin。。。索诺娃!!!