Javascript XMLHttpRequest以不希望的响应进行响应
我遇到了我根本不懂的麻烦。我有一个注册表单,ajax脚本和php脚本。我的目标是,我想使用ajax从注册表单向php提交数据。我的问题是,我可以发送但不能得到我想要的结果作为响应。 这是我的报名表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
名字和姓氏:
电话号码:
店名:
电子邮件:
密码:
重新键入密码:
提供简要说明
提交
这是我的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
输出一些消息字符串并从那里开始。如果出现问题,我会使用标题重定向,但如果一切正常很好,我重复了我需要从脚本中获取的信息