Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX将数据发送到php文件_Javascript_Php_Ajax - Fatal编程技术网

Javascript AJAX将数据发送到php文件

Javascript AJAX将数据发送到php文件,javascript,php,ajax,Javascript,Php,Ajax,你好,我正在尝试在我的web应用程序中使用Ajax。但我有一个小问题。如果某个用户名已注册或未注册,我会尝试控制表单。但是我的JavaScript似乎没有向PHP发送$\u POST值。以及在我有$\u POST['user']的行中未定义该用户的响应 这是我的 PHP: 所以从技术上讲,它是ajax HTML: 用户名: 我真的看不出有什么问题…您没有将用户名传递到PHP脚本中。您的PHP正在寻找一个POST变量,$\u POST['user']–在您的JavaScript中,您会发出

你好,我正在尝试在我的web应用程序中使用Ajax。但我有一个小问题。如果某个用户名已注册或未注册,我会尝试控制表单。但是我的JavaScript似乎没有向PHP发送$\u POST值。以及在我有$\u POST['user']的行中未定义该用户的响应

这是我的

PHP:

所以从技术上讲,它是ajax

HTML:


用户名:


我真的看不出有什么问题…

您没有将用户名传递到PHP脚本中。您的PHP正在寻找一个POST变量,
$\u POST['user']
–在您的JavaScript中,您会发出一个GET请求,因此PHP脚本没有任何可查找的内容。

基于编辑的问题:您没有向服务器发送任何键值对,只有一个值

您需要更改:

var u = document.getElementById("user").value;
致:

然后,该对将被正确发送:

request.send(u);    // sends a single key-value pair

请注意,我刚刚添加了
encodeURIComponent
函数,以确保值正确编码。

在ajax调用中使用“POST”而不是“GET”。@staddy\u-php仍然不知道什么是用户您的表单中没有
alert\u text
id为什么会被注释掉<代码>/$dbh=新PDO($dsn、$user、$pswd、$opt)给出了其他答案。看起来你只是在传递值,而不是键=>值对。见下面@jeroen的答案。是的,你是对的。我是用POST做的,我只是用GET做的。但是它或者不使用posit,听起来像是
user
变量没有进入PHP脚本。如果您在网络选项卡中查看浏览器开发人员工具,您应该会看到对
validation.php
的请求–发送了哪些参数?
user
是否存在?表单数据用户:gusevvas,因此它发送了一些内容。并且不确定OP是否取消了对
/$dbh=new PDO的注释($dsn,$user,$pswd,$opt)-如果没有,它也没有连接。
document.getElementById(“alert\u text”)
他们使用的是

,这里的关键词是
class
,所以这永远不会发生。里面有很多虫子;-)也许吧,或者他出去给我们大家买咖啡和一杯丹麦酒,感谢我们的辛勤工作如果将
返回1
返回0
替换为
回显“1”和
回显“0”
,会发生什么情况?我已经有一段时间没有使用任何PHP了,但如果您的脚本没有回显任何内容,JavaScript可能什么都看不到。@Mattanderws终于!非常感谢。现在可以了!我把它改成了echo。非常感谢你!
<form id="check"  name="signUp" method="post">
 <p class="alert_text"></p>
   <label for="user">Username:</label><br />

   <input id="user" name="user"  type="text" ><br />

</form>
var u = document.getElementById("user").value;
var u = 'user=' + encodeURIComponent(document.getElementById("user").value);
request.send(u);    // sends a single key-value pair