Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.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 XMLHttpRequest以不希望的响应进行响应_Javascript_Php_Xmlhttprequest - Fatal编程技术网

Javascript XMLHttpRequest以不希望的响应进行响应

Javascript XMLHttpRequest以不希望的响应进行响应,javascript,php,xmlhttprequest,Javascript,Php,Xmlhttprequest,我遇到了我根本不懂的麻烦。我有一个注册表单,ajax脚本和php脚本。我的目标是,我想使用ajax从注册表单向php提交数据。我的问题是,我可以发送但不能得到我想要的结果作为响应。 这是我的报名表 名字和姓氏: 电话号码: 店名: 电子邮件: 密码: 重新键入密码: 提供简要说明 提交 这是我的PHP脚本(由表单指定的操作): $names=mysqli\u real\u escape\u字符串($conn,$\u POST[“names”]); $phone=mysqli\u real\u

我遇到了我根本不懂的麻烦。我有一个注册表单ajax脚本php脚本。我的目标是,我想使用ajax从注册表单向php提交数据。我的问题是,我可以发送但不能得到我想要的结果作为响应。 这是我的报名表


名字和姓氏:

电话号码:

店名:

电子邮件:

密码:

重新键入密码:

提供简要说明

提交
这是我的PHP脚本(由表单指定的操作):

$names=mysqli\u real\u escape\u字符串($conn,$\u POST[“names”]);
$phone=mysqli\u real\u escape\u字符串($conn,$\u POST[“phone”]);
$shopName=mysqli\u real\u escape\u字符串($conn,$\u POST[“shopName”]);
$email=mysqli\u real\u escape\u字符串($conn,$\u POST[“email”]);
$pwd=mysqli\u real\u escape\u字符串($conn,$\u POST[“pwd”]);
$pwd2=mysqli\u real\u escape\u字符串($conn,$\u POST[“pwd2”]);
$description=mysqli\u real\u escape\u字符串($conn,$\u POST[“description”]);
//验证用户输入数据
如果(!空($names&&$phone&&&$shopName&&&$email&&$pwd&&$pwd2)){
if(preg_match(“/^[a-zA-Z\s]+$/”,$names)){
如果(预匹配(“/^[0-9+](\d)+$/”,$phone)){
if(preg_match(“/^[a-zA-Z\s]+$/”,$shopName)){
if(过滤变量($email,过滤验证电子邮件)){
如果($pwd!=$pwd2){
标题(“位置:../sell/auth/sell.signup.php?passwordsdoNotMatch”);
}否则{
$hashed\u pwd=密码\u散列($pwd,密码\u默认值);
$sql=“在卖家(姓名、电话、店名、电子邮件、密码、说明、批准状态)中插入值(“$names”、“$phone”、“$shopName”、“$email”、“hashed\u pwd”、“$description”、“0”);”;
if(!mysqli_query($conn,$sql)){
回显“对不起,没有添加”。mysqli_错误($conn);
}否则{
标题(“位置:../index.php”);
$\u会话['actionmsg-success']=“已成功添加。请等待批准!!以便发布产品。”;
}
}
这就是ajax

函数loadFunc(){ const names=document.getElementById('names'); const phone=document.getElementById('phone'); const shopName=document.getElementById('shopName'); const email=document.getElementById('email'); const pwd=document.getElementById('pwd'); const pwd2=document.getElementById('pwd2'); const description=document.getElementById('description'); var form=document.getElementById('form'); 表.addEventListener('submit',函数(e){ e、 预防默认值(); var params=`names=${names}&phone=${phone},shopName=${shopName},email=${email}&pwd=${pwd}&pwd2=${pwd2}&description=${description}`; var xhr=new XMLHttpRequest(); xhr.open('post','../../includes/seller.inc.php'); setRequestHeader('Content-type','application/x-www-form-urlencoded'); xhr.onload=函数(){ if(this.readyState==4){ console.log(this.responseText); } } xhr.send(参数); }); }
运行它们时,我没有收到任何错误,但我会将自己的html代码的响应打印到浏览器中。

您的PHP代码必须执行两个操作。它必须处理传入的AJAX请求(验证、运行SQL语句等)它还必须提供AJAX处理程序可以处理的正确类型的响应。这通常是纯文本或JSON。目前,您正在发出标题重定向,这对AJAX处理程序来说是个坏消息。只需
echo
输出一些消息字符串并从那里开始。如果出现问题,我会使用标题重定向,但如果一切正常很好,我重复了从脚本获取所需的信息。您的PHP代码必须执行两个操作。它必须处理传入的AJAX请求(验证、运行SQL语句等)它还必须提供AJAX处理程序可以处理的正确类型的响应。这通常是纯文本或JSON。目前,您正在发出标题重定向,这对AJAX处理程序来说是个坏消息。只需
echo
输出一些消息字符串并从那里开始。如果出现问题,我会使用标题重定向,但如果一切正常很好,我重复了我需要从脚本中获取的信息