ajax到同一页面后重复页面内容

时间:2016-01-07 17:05:01

标签: php jquery ajax

我有简单的注册公式,我希望我首先发送ajax而不刷新页面来控制我是否插入了正确的数据,然后只是重定向到其他页面。问题是,在我通过ajax将其发送到同一页面后,一切正常,但我的页面内容正在重复,我可以看到它两次......

这是我的ajax

function registruj () {
    var name = $('#meno').val();
    var priez = $('#priezvisko').val();
    var log  = $('#login').val();
    var mail  = $('#mail').val();
    var cisloTel  = $('#cislo').val();
    var heslo = $('#heslo').val();
    var heslo1 = $('#heslo1').val();

    $.post( "", {
            'meno': name,
            'priezvisko': priez,
            'login':log,
            'mail':mail,
            'cislo':cisloTel,
            'heslo':heslo,
            'heslo1':heslo1,

        }, function (data) {
            $('#result').html(data);

        }


    );

    $('#nove').load(document.URL + ' #nove');

}

这是我的php文件

<?php

session_start();
if(isset($_POST["meno"]) ) {
    echo "kokot";
    echo $_POST['meno'];
    require "pripojenie.php";
    $meno = $_POST["meno"];
    $priezvisko = $_POST["priezvisko"];
    $login = $_POST["login"];
    $heslo = $_POST["heslo"];
    $hesloZnovu = $_POST["heslo1"];
    if(isset($_POST["pohlavie"]))
        $pohlavie = $_POST["pohlavie"];
    $mail = $_POST['mail'];
    $cislo = $_POST['cislo'];
    //$id = $_SESSION['id'];



}
?>

<!doctype html>
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta charset="utf-8" />
    <title>blblblbl</title>
    <link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
    <script src="jquery-1.4.3.min.js"></script>
    <script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
    <script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
    <script>$(function(){$('.img').fancybox();});</script>

    <style type="text/css"> </style>

    <script type="text/javascript" src="mojskript.js"></script>
    <link rel="stylesheet" href="css/normalize.css">
    <link rel="stylesheet" type="text/css" href="css/style1.css" />
</head>
<body  class="registracia">
<div class="container">

<div id="nove">










        <form  >

            <table >
                <tr><td><label for="napdis">Vyplňte nasledujúci formulár:</label></td></tr>
                <tr><td><input type="radio" name="pohlavie" value="zena" id="zena" >Žena</td></tr>
                <br>
                <tr><td><input type="radio" name="pohlavie" value="muz" id="muz">Muž</td></tr>
                <br>
                <tr><td><label for="meno">Meno :</label></td><td><input type = "text" id="meno" name="meno"></td></tr><br>
                <tr><td><label for="priezvisko">Priezvisko :</label></td><td><input type = "text" id="priezvisko" name="priezvisko"></td></tr><br>
                <tr><td><label for="login">Login :</label></td>
                    <td><input type = "text" id="login" name="login"></td></tr><br>

                <?php
                if(isset($heslo)) {
                    if (($heslo != "" && $hesloZnovu != "") && ($heslo == $hesloZnovu)) {

                        $hesloOk = 1;
                    }
                    else {
                        echo '<tr><td><label for="heslo">Heslo :</label><td><input type = "password" name="heslo"></td><td><label for="zleHeslo">Heslá sa nezhodujú</label></td></tr>';
                        $pocet = 1;
                    }
                }

                ?>
                <?php

                if(!isset($pocet)) {

                    echo'<tr ><td ><label for="heslo" > Heslo :</label ></td >
                    <td ><input type = "password"  id="heslo" name = "heslo" ></td ></tr ><br >';
                }
                ?>
                <tr><td><label for="heslo2">Heslo znovu :</label></td>
                    <td><input type = "password"  id="heslo1" name="heslo1"></td></tr><br>
                <?php
                if(isset($mail)) {
                    if (!stristr($mail, "@") OR !stristr($mail, ".")) {
                        echo '<tr><td><label for="email">E-mail :</label></td>
                        <td><input type = "text"  name="email"></td><td><label for="zlyMail">Zlý formát emailu</label></td></rd></tr><br>';
                    } else {
                        $mailOk = 1;
                    }
                }
                else {
                    echo '<tr><td><label for="email">E-mail :</label></td>
            <td><input type = "text" id="mail" name="email"></td></tr><br>';

                }

                ?>

                <tr><td><label for="cislo">Telefónne číslo :</label></td>
                    <td><input type = "text" id="cislo" name="cislo"></td></tr><br>
                <tr><td><input type="button" value="Zaregistrovať" onclick="registruj()" ></td></tr>
            </table>
        </form>

        <?php
        if(isset($mailOk) && isset($hesloOk)) {
            $length = 20;

            $randomString = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length);


            $zasifrovane = crypt($heslo,$randomString);
            echo $zasifrovane;
            mysql_query("INSERT INTO uzivatelia (Meno,Priezvisko,Login,Heslo,mail,pohlavie,cislo) VALUES ('$meno','$priezvisko','$login','$zasifrovane','$mail','$pohlavie','$cislo')");
            header("location:index.php");
        }
        ?>

    </div>

        <div id="result"></div>
    </div>
    </body>

我该怎么做?

2 个答案:

答案 0 :(得分:0)

将成功功能更改为:

function (data) {
        $('#result').empty().html(data);

    }

答案 1 :(得分:0)

尝试使用exit();之类的:

session_start();
if(isset($_POST["meno"]) ) {
    echo "kokot";
    echo $_POST['meno'];
    require "pripojenie.php";
    $meno = $_POST["meno"];
    $priezvisko = $_POST["priezvisko"];
    $login = $_POST["login"];
    $heslo = $_POST["heslo"];
    $hesloZnovu = $_POST["heslo1"];
    if(isset($_POST["pohlavie"]))
        $pohlavie = $_POST["pohlavie"];
    $mail = $_POST['mail'];
    $cislo = $_POST['cislo'];
    //$id = $_SESSION['id'];
    exit();
}

在ajax处理完成后使用exit();die();,否则将返回所有网页内容。