Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.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
Php响应显示在浏览器中,而不是触发ajax回调_Php_Jquery_Ajax_Callback - Fatal编程技术网

Php响应显示在浏览器中,而不是触发ajax回调

Php响应显示在浏览器中,而不是触发ajax回调,php,jquery,ajax,callback,Php,Jquery,Ajax,Callback,我花了一些时间来寻找答案,并发现了一些相关的问题,但没有一个像我的一样…像往常一样 我有一个相当简单的php/jquery ajax注册页面,它一直工作到ajax回调。我的意思是表单数据传递到php并插入到db中,但是当php响应应该返回时,所有发生的事情就是响应显示在浏览器中。我跟踪了日志,检查了fiddler,重新编写了带有/不带json的代码,还有一件事似乎发生了变化。奇怪的是,我在另一个页面上有另一个表单,它的设置方式完全相同,而且一切都完美地工作在那里。这两个页面之间唯一的区别是php

我花了一些时间来寻找答案,并发现了一些相关的问题,但没有一个像我的一样…像往常一样

我有一个相当简单的php/jquery ajax注册页面,它一直工作到ajax回调。我的意思是表单数据传递到php并插入到db中,但是当php响应应该返回时,所有发生的事情就是响应显示在浏览器中。我跟踪了日志,检查了fiddler,重新编写了带有/不带json的代码,还有一件事似乎发生了变化。奇怪的是,我在另一个页面上有另一个表单,它的设置方式完全相同,而且一切都完美地工作在那里。这两个页面之间唯一的区别是php文件的请求头。有效的一个接受json,另一个不接受,但我不知道这是否意味着什么。在这一点上,我有点想抓住任何东西

因此,不再拖延,这是我的代码。非常感谢您的任何想法/意见。谢谢大家!

<!DOCTYPE html>


创建您的帐户
  • 选择你的性别 男性 女性 未指明
  • 创建帐户
$('input[placeholder]')。占位符();

$(文档).ready(函数(){
功能验证电子邮件(电子邮件){
var emailReg=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
返回emailReg.test(电子邮件);
}
函数submitButton(){
如果($(“#名字”).hasClass(“好”)&($(“#电子邮件地址”).hasClass(“好”)&($(“#uname”).hasClass(“好”)&($(“#pword”).hasClass(“好”)){
$(“#注册#按钮”)。删除设置(“禁用”);
$(“#注册按钮”).removeClass(“注册按钮禁用”).addClass(“注册按钮”);
}否则{
$(“#注册按钮”).attr(“禁用”、“禁用”);
$(“#注册按钮”).removeClass(“注册按钮”).addClass(“注册按钮禁用”);
}
}
$(“正文”).mousedown(提交按钮);
$(“正文”).keyup(提交按钮);
$(“正文”)。悬停(提交按钮);
$(“正文”)。鼠标悬停(提交按钮);
$(“#fname”).keydown(函数(){
$(“#名字”).removeClass(“必需”);
$(“#first#u name div”).html(“”);
});
$(“#fname”).bind(“键控鼠标向下”,函数(){
if(this.value==“”){
$(“#名字”).removeClass(“好”).addClass(“等待”);
}否则{
$(“#名字”).removeClass(“wait”).addClass(“good”);
}       
});
$(“#fname”).blur(函数(){
if(this.value==“”){
$(“#名字”).removeClass(“好”).addClass(“必需”);
$(“#first_name div”).html(“请输入您的名字”);
}否则{
$(“#名字”).removeClass(“wait”).addClass(“good”);
}       
});
$(“#电子邮件”).keydown(函数(){
$(“#电子邮件地址”).removeClass(“必需”);
$(“#电子邮件地址div”).html(“”);
});
$(“#email”).bind(“键控鼠标向下”,函数(){
var email=this.value;
var emailLength=email.length;
如果(emailLength点击#按钮的处理程序中有这一行,这可能是罪魁祸首:

window.location.href = "http://crushonit.com";

当表单没有验证错误时,这将重定向到该页面。

我通常发现删除不必要的代码,直到您能够重现问题。这也有助于人们回答问题。一个问题。按钮id为“register_button”,但javascript引用的是“button”.这是故意的吗?谢谢你的输入Jim.你在上面关于按钮名称不正确的评论是对的。天才!我一整天都在跳过它,因为它“起作用”当我点击按钮时…现在完全可以理解他们的回调方法没有被调用,因为我甚至没有激活那个按钮!奇怪的是,数据仍然在传输。哦,是的,你也了解了重定向的一些事情。我的意图是,当我“成功”时,重定向可以工作消息。这仍然不起作用,它与使用e.preventDefault()和正确返回false有关。但我想这是另一天的事了…谢谢你的输入。非常有用!
$(document).ready(function() {



function validateEmail(email) {
    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
    return emailReg.test(email);
}
function submitButton() {
    if (($("#first_name").hasClass("good")) && ($("#email_address").hasClass("good")) && ($("#uname").hasClass("good")) && ($("#pword").hasClass("good")) ){
        $("#register_button").removeAttr("disabled");
        $("#register_button").removeClass("register_button_disabled").addClass("register_button");
    } else {
        $("#register_button").attr("disabled", "disabled");
        $("#register_button").removeClass("register_button").addClass("register_button_disabled");
    }
}
$("body").mousedown(submitButton);
$("body").keyup(submitButton);
$("body").hover(submitButton);
$("body").mouseover(submitButton);
$("#fname").keydown(function(){
    $("#first_name").removeClass("required");
    $("#first_name div").html("");
});
$("#fname").bind ("keyup mousedown",function(){
    if(this.value===""){
        $("#first_name").removeClass("good").addClass("wait");
    } else {
        $("#first_name").removeClass("wait").addClass("good");
    }       
});
$("#fname").blur(function(){
    if(this.value===""){
        $("#first_name").removeClass("good").addClass("required");
        $("#first_name div").html("Please enter your first name");
    } else {
        $("#first_name").removeClass("wait").addClass("good");
    }       
});
$("#email").keydown(function(){
    $("#email_address").removeClass("required");
    $("#email_address div").html("");
});
$("#email").bind ("keyup mousedown",function(){
    var email = this.value;
    var emailLength = email.length;
    if (emailLength<=4){
        $("#email_address").removeClass("good").addClass("wait");
    } else {
        $("#email_address").removeClass("wait").addClass("good");
    }       
});
$("#email").blur(function(){
    var email = this.value;
    var emailLength = email.length;
    if ((emailLength<=4) || (!validateEmail(this.value))) {
            $("#email_address").removeClass("good").addClass("required");
        $("#email_address div").html("Please use a valid email address");
    } else if (emailLength>=3){
        $.ajax({
            type: "POST",
            cache: false,
            url: "Check.php",
            data: "email="+email,
            dataType: "json",
            success: function(data) { 

                if (data.status === "success") {
                    $("#email_address").removeClass("good").addClass("required");
                    $("#email_address div").html("Sorry, that email is already used");}
                else {
                    $("#email_address").removeClass("wait").addClass("good");  
                }
            }
        });
    } else {
         $("#email_address").removeClass("wait").addClass("good");
    }
});
$("#username").keydown(function(){
    var un = this.value;
    var unLength = un.length;
    if(unLength<3){
        $("#uname").removeClass("good").addClass("wait");
    } else {
        $("#uname").removeClass("wait").addClass("good");
    }       
});
$("#username").bind ("keyup mousedown",function(){
    $("#uname").removeClass("required");
    $("#uname div").html("");
});
$("#username").blur(function(){
    var un = this.value;
    var unLength = un.length;
    if(unLength<3){
        $("#uname").removeClass("good").addClass("required");
        $("#uname div").html("Please use at least 3 characters");
    } else if (unLength>=3){
        $.ajax({
            type: "POST",
            cache: false,
            url: "check.php",
            data: "username="+un,
            dataType: "json",
            success: function(data) { 

                if (data.status === "success") {
                    $("#uname").removeClass("good").addClass("required");
                    $("#uname div").html("Sorry, that username is taken");
                } else {
                    $("#uname").removeClass("wait").addClass("good");  
                }
            }
        });
    } else {
        $("#uname").removeClass("wait").addClass("good");
    }
});
$("#password").keydown(function(){
    var pw = this.value;
    var pwLength = pw.length;
    if(pwLength<=5){
        $("#pword").removeClass("good").addClass("wait");
    } else {
        $("#pword").removeClass("wait").addClass("good");
    }       
});
$("#password").bind ("keyup mousedown",function(){
    $("#pword").removeClass("required");
    $("#pword div").html("");
});
$("#password").blur(function(){
    var pw = this.value;
    var pwLength = pw.length;
    if(pw===""){
        $("#pword").removeClass("good").addClass("required");
        $("#pword div").html("Please enter a password");
    }
    if(pwLength<=5){
        $("#pword").removeClass("good").addClass("required");
        $("#pword div").html("Please use at least 6 characters");
    } else {
        $("#pword").removeClass("wait").addClass("good");
    }
});

$("#button").click(function(e) {


    e.preventDefault();     

    $.ajax({
        type: "POST",
        cache: false,
        url: "form.php",
        data: $('#register').serialize(),
        success: function(data) { 
            if (data === "fname") {
                $("#first_name").removeClass("good").addClass("required");
                $("#first_name div").html("Please enter your first name"); 

            } else if (data === "email") {
                $("#email_address").removeClass("good").addClass("required");
                $("#email_address div").html("Please use a valid email address");

            } else if (data === "email2") {
                $("#email_address").removeClass("good").addClass("required");
                $("#email_address div").html("Sorry, that email is already used");

            } else if (data === "username") {
                $("#uname").removeClass("good").addClass("required");
                $("#uname div").html("Please use at least 3 characters");

            } else if (data === "username2") {
                $("#uname").removeClass("good").addClass("required");
                $("#uname div").html("Sorry, that username is taken");

            } else {
                window.location.href = "http://site.com";

        },
        error: function(httpRequest, textStatus, errorThrown) { 
            alert("status=" + textStatus + ",error=" + errorThrown);
        } 
    });             
    return false;

});
<?php

$host=""; // Host name 
$username=""; // Mysql username 
$password=""; // Mysql password 
$db_name=""; // Database name 
$tbl_name=""; // Table name  

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// Get values from form 
$fname = mysql_real_escape_string($_POST['fname']);
$lname = mysql_real_escape_string($_POST['lname']);
$email = mysql_real_escape_string($_POST['email']);
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$gender = mysql_real_escape_string($_POST['gender']);

//validate inputs
$emailpull = "SELECT email FROM $tbl_name WHERE email='$email'";
$emailresult=mysql_query($emailpull);
$emailnum=mysql_num_rows($emailresult);

$emailReg = "/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/";

$unpull = "SELECT username FROM $tbl_name WHERE username='$username'";
$unresult=mysql_query($unpull);
$unnum=mysql_num_rows($unresult);

if ($fname == "") {  
$response = "fname";

} elseif ($email == "") {
$response = 'email';

} elseif (!preg_match($emailReg, $email)) {
$response = 'email';

} elseif ($emailnum > 0) {
$response = 'email2';

} elseif (strlen($username)<3) {
$response = 'username'; 

} elseif ($unnum > 0) {
$response = 'username2';

} elseif (strlen($password)<6) {
$response = 'password';

} else {

// Insert data into mysql 
$sql="INSERT INTO $tbl_name(fname,lname,email,username,password,gender)VALUES ('$fname','$lname','$email','$username','$password','$gender')";
}

$result=mysql_query($sql);
if($result)
$response = "success";

// send message back 
echo $response;

?> 

<?php 
// close connection 
mysql_close();
?>
window.location.href = "http://crushonit.com";