链接触发XMLHttpRequest

时间:2019-04-20 15:39:18

标签: javascript html xmlhttprequest

我已经制作了一个简单的XMLHttpRequest,它可以工作,它发送请求等。就像在W3学校一样。

  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    document.getElementById("demox").innerHTML = this.responseText;
    }
  };

  xhttp.open("POST", "textx.php", true);
  xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xhttp.send("fname=" + textxx);
}

当我尝试通过单击链接来触发请求时,问题就开始了,该链接将我发送到处理请求的php文件中。在目前的水平上,我发现很难理解为什么它不起作用,因为它可以使用简单的表单等。

我得到:

"Notice: Undefined index: fname ..."

所以,我认为这意味着未发送变量。有人可以解释吗?还是有办法调试从一页发送到另一页的内容。我发现的只是一个chrome调试器,它确实捕获了请求,但是没有真正的用处,因为我被发送到textx.php页面,并且一切都丢失了。

2 个答案:

答案 0 :(得分:0)

不确定,您的问题可能在哪里,也许尝试:

var xhttp = new XMLHttpRequest();
    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhttp.open("POST", "textx.php", true);
    xhttp.onreadystatechange = function() {
    if (this.readyState === 4){
        if(this.status===200 || this.status===0){
            document.getElementById("demox").innerHTML = this.responseText;
        }
    };

    var fname = "fname=" + textxx;
    xhttp.send(fname);
}

您可能会console.log(xhttp);并查看逐步的配置文件,并找出问题所在。

答案 1 :(得分:0)

无论哪种方式,我仍然不确定,但是我将页面(代码)上传到了托管服务器,并且代码可以正常工作。 PHP没有显示任何警告,所有警告均按计划进行。它的问题似乎与运行本地服务器(WAMP)有关。更改PHP版本无济于事。我可能需要对此进行更深入的研究。