试图找出有关 XMLHttpRequest 的更多细节 [重复]

Posted

技术标签:

【中文标题】试图找出有关 XMLHttpRequest 的更多细节 [重复]【英文标题】:Trying to work out a few more details about XMLHttpRequest [duplicate] 【发布时间】:2019-08-30 16:32:41 【问题描述】:

这就是我想要做的。我有一个表单,其中一个值是用户名。我想检查数据库中是否已经存在该用户名。所以我将一个 javascript 函数设置为表单的onsubmit。在我的功能中

xhttp.open("POST","AjaxTest.php",false);
xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhttp.send("Username=Leroy1981&Found=0");

A它指向正确的文件,但是我不知道如何访问发送命令中发送的数据,我仍然不知道如何发送结果,一旦php文件检查了数据库用于提供的用户名。用户名是表单中的输入类型,因此它会被发送,但我得到未定义的 Found 常量。

另一个问题,如何在 php 文件中设置 XMLHttpRequest 响应?我可能会弄清楚如何检索它并发送“找到”或“未找到”,但不要'不知道如何在 php 文件中访问它。完成后它也不会自动从 php 文件中返回,这就是我认为它的工作原理。

【问题讨论】:

另一个问题,如何在php文件中设置XMLHttpRequest响应?我可能会弄清楚如何检索它并发送“找到”或“未找到”,但不知道如何在 php 文件中访问它。完成后它也不会自动从 php 文件返回,这就是我认为的工作方式 网络编程的超级新手顺便说一句。如果那部分不明显 我已投票决定将其作为副本关闭,因为它看起来确实如此。如果不是这种情况,请使用更多代码编辑您的问题,包括您正在尝试的完整代码集,并详细说明它为什么/在哪里不起作用,以便我们更好地为您提供帮助。 xhttp.open("POST","AjaxTest.php",false); — 您正在发出同步请求。这是不推荐使用,并在请求进行时锁定 UI。不要这样做。 "如何在 php 文件中设置 XMLHttpRequest 响应" — 与在任何其他 PHP 文件中设置响应相同。请求由 JS 触发的事实无关紧要。 【参考方案1】:

你可以用这个函数调用你的文件

function loadDoc() 
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() 
    if (this.readyState == 4 && this.status == 200) 
      document.getElementById("demo").innerhtml =
      this.responseText;
    
  ;
  xhttp.open("GET", "AjaxTest.php?Username=Leroy1981", true);
  xhttp.send();

输出将在变量 this.responseText 中

您的 PHP 文件应如下所示

$user = $_GET['User'];
//Your db operations
$yourResponse = "whatever you want";
echo $yourResponse; //This will be your responseText in JavaScript

【讨论】:

所以无论我在 php 脚本末尾回显什么,那么 responseText 中的内容是什么?我想我可以使用 GET 只发送用户名并将 $_POST['username] 设置为 EMPTY 如果它还没有在数据库中 感谢您的信息。查了一下,原来是这样。关于 echo 设置 responseText 如果我的回答帮助您标记它,以便其他有相同问题的人可以看到它

以上是关于试图找出有关 XMLHttpRequest 的更多细节 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

XmlHttpRequest 在 IE 中是不是比在 Chrome 中花费更多时间?

XMLHttpRequest ::ERR_CONNECTION_RESET 上传大型(2 个月及更多)文件时

[XMLHttpRequest访问被拒绝,但试图从Web服务器位置访问文件-IE8

可以找出哪些 MySQL 查询很慢吗?

Fetch使用

如何找出 ECS 运行状况检查失败的原因?