【问题标题】:Link triggering XMLHttpRequest链接触发 XMLHttpRequest
【发布时间】:2019-05-10 02:47:01
【问题描述】:

我制作了一个简单的 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 页面并且一切都丢失了。

【问题讨论】:

标签: javascript html xmlhttprequest


【解决方案1】:

不太清楚,你的问题可能出在哪里,也许试试:

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); 并查看分步配置文件并找出问题所在。

【讨论】:

    【解决方案2】:

    无论哪种方式,我仍然不确定,但我将我的页面(代码)上传到托管服务器并且代码有效。 PHP 没有显示任何警告,一切都按计划进行。似乎与运行本地服务器(WAMP)有关的问题。更改 PHP 版本没有帮助。我可能需要深入挖掘一下。

    【讨论】:

      猜你喜欢
      • 2013-02-08
      • 2018-11-26
      • 2016-07-29
      • 2011-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多