首页 > 解决方案 > Ajax 不调用 PHP

问题描述

我有一个 ajax 调用 PHP 代码而不更改当前页面的问题。在 php_error.log 中没有对 PHP 文件的引用。我在屏幕上没有任何错误或任何可以指导我解决问题的东西。

这是我的javascript函数

<script type="text/javascript">
function getMail(){
                var name = $('#username').val();
                var dominio = $('#dominio').val();
                if(name.trim() == '' ){
                    alert('Ingrese su nombre de usuario.');
                    $('#username').focus();
                    return false;
                }else{
                    $.ajax({
                        type:'POST',
                        url:'paginas/recover.php',
                        //data:'username='+name+'&dominio='+dominio,
                        beforeSend: function () {
                            $('.nextBtn').attr("disabled","disabled");
                            $('.modal-body').css('opacity', '.5');
                        },
                        success:function(msg){
                            $('#username').val('');                                           
                            $('.nextBtn').removeAttr("disabled");
                            $('.modal-body').css('opacity', '');
                        },                      
                    });

                }
            };
</script>

这是来自 HTML 的函数调用按钮

<button id="nextBtn" type="button" class="btn btn-primary nextBtn btn-lg pull-right" onclick="getMail()" disabled>Continuar</button>

这是PHP代码

<?php
    //include ('../paginas/header.php');
    include ('../paginas/funciones.php');
    //$dominio = $_GET['dominio'];
    //$usr = $_GET['username'];
    //getToken($usr,$dominio);
    $to_mail = 'mail@gmail.com';//getMail($usr, $dominio);
    $to_name = 'Usuario Prueba';
    $message = 'Prueba';
    $subject = 'Prueba';
    sendMail($to_mail,$to_name,$subject,$message);      
?>

如果我单独访问 PHP 文件,则邮件已发送,但当我使用 javascript 函数时,什么也没发生。调用该函数是因为如果我未在表单中填写用户名,则会执行警报。

谢谢

标签: javascriptphpajax

解决方案


//数据:'username='+name+'&dominio='+dominio,

将上面的行更改为此使其取消注释并将数据作为空白传递

数据:'',


推荐阅读