duancui19840401 2014-11-06 14:42
浏览 40

Ajax数据变量对我来说很困惑,如果我只使用Javascript,我应该放什么? (没有JSON或JQuery)

Well, yesterday I started learning how to use AJAX and well I saw this page: http://www.formget.com/submit-form-using-ajax-php-and-jquery/ where everything was well explained. So, I coded the next:

if(isset($_POST['edited'])) {
    $real_name = mysqli_real_escape_string($conn, $_POST['real_name']);
    $email = mysqli_real_escape_string($conn, $_POST['email']);
    $gender = mysqli_real_escape_string($conn, $_POST['gender']);
    $date_day = mysqli_real_escape_string($conn, $_POST['date_day']);
    $date_month = mysqli_real_escape_string($conn, $_POST['date_month']);
    $date_year = mysqli_real_escape_string($conn, $_POST['date_year']);
    $final_date = $date_day."-".$date_month."-".$date_year;
    $location = mysqli_real_escape_string($conn, $_POST['location']);
    $web_title = mysqli_real_escape_string($conn, $_POST['web_title']);
    $web_url = mysqli_real_escape_string($conn, $_POST['web_url']);
    $skype = mysqli_real_escape_string($conn, $_POST['skype']);
    if($my_stats['real_name'] != $_POST['real_name']) {
        mysqli_query($conn, "UPDATE users SET real_name = '$real_name' WHERE id = '$my_id'");
    }
    if($my_stats['email'] != $_POST['email']) {
        $act = md5(time());
        mysqli_query($conn, "UPDATE users SET email = '$email' WHERE id = '$my_id'");
        mysqli_query($conn, "UPDATE users SET activation = '$act' WHERE id = '$my_id'");
        mail($email, 'GimmeAHit! - Activación de correo', '¡Hola! Para activar tu cuenta visita el siguiente link: http://'.$_SERVER['SERVER_NAME'].'/?action=act&code='.$act);
    }
    if($my_stats['gender'] != $_POST['gender']) {
        mysqli_query($conn, "UPDATE users SET gender = '$gender' WHERE id = '$my_id'");
    }
    if($my_stats['birthdate'] != $final_date) {
        mysqli_query($conn, "UPDATE users SET birthdate = '$final_date' WHERE id = '$my_id'");
    }
    if($my_stats['location'] != $_POST['location']) {
        mysqli_query($conn, "UPDATE users SET location = '$location' WHERE id = '$my_id'");
    }
    if($my_stats['web_title'] != $_POST['web_title']) {
        mysqli_query($conn, "UPDATE users SET web_title = '$web_title' WHERE id = '$my_id'");
    }
    if($my_stats['web_url'] != $_POST['web_url']) {
        mysqli_query($conn, "UPDATE users SET web_url = '$web_url' WHERE id = '$my_id'");
    }
    if($my_stats['skype'] != $_POST['skype']) {
        mysqli_query($conn, "UPDATE users SET skype = '$skype' WHERE id = '$my_id'");
    }
}

And my AJAX call:

echo '<script>
    function showUpdateNode(elem) {
        elem.parentNode.childNodes[1].style.display = "none";
        elem.parentNode.childNodes[2].style.display = "inline";
        elem.parentNode.childNodes[3].style.display = "none";
    }
    function sendSForm() {
        var real_name = document.getElementById("real_name").value;
        var date_day = document.getElementById("day_select").value;
        var date_month = document.getElementById("month_select").value;
        var date_year = document.getElementById("year_select").value;
        var gender = document.getElementById("gender").value;
        var location = document.getElementById("location").value;
        var web_title = document.getElementById("website_title").value;
        var web_url = document.getElementById("website_url").value;
        var skype = document.getElementById("skype").value;
        var email = document.getElementById("email").value;
        var dataString = "real_name="+real_name+"&date_day="+date_day+"&date_month="+date_month+"&date_year="+date_year+"&gender="+gender+"&location="+location+"&web_title="+web_title+"&web_url="+web_url+"&skype="+skype+"&email="+email+"&edited=a";
        $.ajax({
        type: "POST",
        url: "/sources/edit_profile.php",
        data: dataString,
        cache: false,
        success: function() {
            document.location.reload(true);
        }
        });
        return false;
    }
</script>';

Everything is in the same file, but for some reason when I make the AJAX call, nothing happens...

I tried to know what exactly happens, with success: function(html) {alert(html);} and if(isset($_POST['edited']) {echo "Okay!";} but the alert is empty!..

Maybe something is wrong with the dataString variable, what can you see where I went wrong? Any suggetion?

Edit There aren't errors in the console :/ (I think that the error is in PHP, but where, I think all is right...)

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
    • ¥500 52810做蓝牙接受端
    • ¥15 基于PLC的三轴机械手程序
    • ¥15 多址通信方式的抗噪声性能和系统容量对比
    • ¥15 winform的chart曲线生成时有凸起
    • ¥15 msix packaging tool打包问题
    • ¥15 finalshell节点的搭建代码和那个端口代码教程
    • ¥15 Centos / PETSc / PETGEM
    • ¥15 centos7.9 IPv6端口telnet和端口监控问题
    • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作