Chrome中的Ajax发布请求错误,在safari中没有任何反应

时间:2014-07-05 20:50:12

标签: javascript php jquery ajax safari

我在不同的浏览器中遇到ajax post请求的奇怪问题。我的代码验证表单字段,工作正常。当我按下提交时,将触发php请求并执行代码。奇怪的是我仍然从ajax而不是成功消息中获取错误消息。

在safari中,验证工作正常,但php不会执行。我认为我的jQuery有问题,但我没有看到它。

这是我的jQuery代码:

 $(document).ready(function(){
 $("#submit").click(function(){ 

    var Voornaam            = $("#Voornaam").val();
    var Achternaam          = $("#Achternaam").val();
    var Straat              = $("#Straat").val();
    var Huisnummer          = $("#Huisnummer").val();
    var Postcode            = $("#Postcode").val();
    var Woonplaats          = $("#Woonplaats").val();
    var Telefoon            = $("#Telefoon").val();
    var Naamrekeninghouder  = $("#Naamrekeninghouder").val();
    var Rekeningnummer      = $("#Rekeningnummer").val();
    var Email               = $("#Emailadres").val();
    var Username            = $("#Username").val();
    var Password            = $("#Wachtwoord").val();

        $(".errormsgbox").html("");

        if( (Voornaam == "") ) {
            $(".errormsgbox").append("Vul A.U.B. uw voornaam in.").fadeIn("Slow");
            }
            else if ( (Achternaam == "") ){
            $(".errormsgbox").append(" * Vul A.U.B. uw achternaam in.").fadeIn("Slow");
            }
            else if( (Straat == "") ){
            $(".errormsgbox").append(" * Vul A.U.B. uw straat in .").fadeIn("Slow");
            }
            else if( (Huisnummer == "") ){
            $(".errormsgbox").append(" * Vul A.U.B. uw huisnummer in .").fadeIn("Slow");
            }
            else if( (Postcode == "") ){
            $(".errormsgbox").append(" * Vul A.U.B. uw postcode in .").fadeIn("Slow");
            }
            else if( (Woonplaats == "") ){
            $(".errormsgbox").append(" * Vul A.U.B. uw woonplaats in .").fadeIn("Slow");
            }
            else if( (Telefoon == "") ){
            $(".errormsgbox").append(" * Vul A.U.B. uw telefoonnummer in .").fadeIn("Slow");
            }
            else if( (Naamrekeninghouder == "") ){
            $(".errormsgbox").append(" * Vul A.U.B. de rekeninghouder in .").fadeIn("Slow");
            }
            else if( (Rekeningnummer == "") ){
            $(".errormsgbox").append(" * Vul A.U.B. uw rekeningnummer in .").fadeIn("Slow");
            }
            else if( (Email == "") ){
            $(".errormsgbox").append(" * Vul A.U.B. uw email in.").fadeIn("Slow");
            }
            else if( (Username == "") ){
            $(".errormsgbox").append(" * Vul A.U.B. uw gebruikersnaam in .").fadeIn("Slow");
            }
            else if( (Password == "") ){
            $(".errormsgbox").append(" * Vul A.U.B. uw wachtwoord in .").fadeIn("Slow");
        } else {
            $.ajax({
                type    :'POST',
                url     :'./checkregistration.php',
                data    :{  Voornaam : Voornaam,
                            Achternaam : Achternaam,
                            Straat : Straat,
                            Huisnummer : Huisnummer,
                            Postcode : Postcode,
                            Woonplaats : Woonplaats,
                            Telefoon: Telefoon,
                            Naamrekeninghouder: Naamrekeninghouder,
                            Rekeningnummer : Rekeningnummer,
                            Email : Email,
                            Username : Username,
                            Password : Password
                         },
                error:function(data){
                    $(".errormsgbox").html("Er is een fout opgetreden in de uitvoering van JavaScript");


                },
                success:function(data){
                    $(".errormsgbox").empty().html(data);

                }
            });
        }
    });
}); 

php代码如下:

 <?php
 session_start();
 require('scripts/mysql_connect.php'); 

 $_SESSION['Voornaam'] = $_POST['Voornaam'];
 $_SESSION['Achternaam'] = $_POST['Achternaam'];
 $_SESSION['Straat'] = $_POST['Straat'];
 $_SESSION['Huisnummer'] = $_POST['Huisnummer'];
 $_SESSION['Postcode'] = $_POST['Postcode'];
 $_SESSION['Woonplaats'] = $_POST['Woonplaats'];
 $_SESSION['Telefoon'] = $_POST['Telefoon'];
 $_SESSION['Naamrekeninghouder'] = $_POST['Naamrekeninghouder'];
 $_SESSION['Rekeningnummer'] = $_POST['Rekeningnummer'];
 $_SESSION['Email'] = $_POST['Email'];
 $_SESSION['Username'] = $_POST['Username'];
 $_SESSION['Password'] = $_POST['Password'];

  //Check of het ingevulde e-mail adres geldig is.
  if (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",            $_POST['Email'])) {
    //regular expression for email validation
        $Email = $_POST['Email'];
    } else {
        $error[] = 'Vul a.u.b. een geldig e-mail adres in';
    }


 if(preg_match('/^[0-9]*$/',$_POST['Huisnummer'])){
    } else{ 
        $error[] = 'Uw huisnummer kan alleen cijfers bevatten';
        }


 if(preg_match('/^[0-9]{4}[A-Z]{2}$/',$_POST['Postcode'])){
    } else{ 
        $error[] = 'Vul a.u.b uw postcode in formaat 1234AB';
        }

 if(preg_match('/^[A-Z]{2}[0-9]{2}[A-Z]{4}[0-9]{10}$/',$_POST['Rekeningnummer'])){
    } else { 
        $error[] = 'Vul a.u.b een geldig IBAN nummer in';
        }


if (empty($error)){ // If everything's OK...

    // Make sure the email address is available:
    $query_verify_email = "SELECT * FROM Klant WHERE Email ='$Email'";
    $result_verify_email = mysqli_query($dbc, $query_verify_email);
    if (!$result_verify_email) { //if the Query Failed ,similar to if($result_verify_email==false)
        echo ' Email validatie mislukt <br> ';
    }

        if (mysqli_num_rows($result_verify_email) == 0) { // IF no previous user is using this email .

            // Create a unique  activation code:
            $activation = md5(uniqid(rand(), true));

        $query_insert_user =
            "INSERT INTO Klant (KlantID,Voornaam,Achternaam,Straat,Huisnummer,Postcode,Woonplaats,Telefoon,Naamrekening,Rekeningnr,Email,Username,Password,Activation) VALUES ('','$_POST[Voornaam]','$_POST[Achternaam]','$_POST[Straat]','$_POST[Huisnummer]','$_POST[Postcode]','$_POST[Woonplaats]','$_POST[Telefoon]','$_POST[Naamrekeninghouder]','$_POST[Rekeningnummer]','$_POST[Email]','$_POST[Username]', '$_POST[Password]', '$activation')";

        $result_insert_user = mysqli_query($dbc, $query_insert_user);
        if (!$result_insert_user) {
            echo 'Fout bij het aanmaken van de gebruiker <br>';
        }
}
}


?>

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用JSON.stringify发布数据?

$.ajax({
    type    :'POST',
    url     :'./checkregistration.php',
    data    : JSON.stringify({ 
                 Voornaam : Voornaam,
                 Achternaam : Achternaam,
                 Straat : Straat,
                 Huisnummer : Huisnummer,
                 Postcode : Postcode,
                 Woonplaats : Woonplaats,
                 Telefoon: Telefoon,
                 Naamrekeninghouder: Naamrekeninghouder,
                 Rekeningnummer : Rekeningnummer,
                 Email : Email,
                 Username : Username,
                 Password : Password
                 }),
    error:function(data){
        $(".errormsgbox").html("Er is een fout opgetreden in de uitvoering van JavaScript");
    },
    success:function(data){
        $(".errormsgbox").empty().html(data);
    }
});