javascript - 为什么我的 Ajax 加载 php 页面?

标签 javascript php jquery ajax

我有一个 HTML 表单(id = "registro"),它通过 POST 发送到 PHP 页面。 我想通过 Ajax 验证它,但它仍然加载 PHP 页面。

打扰一下,我正在学习代码和英语,如果您知道更好的方法,我真的很感激。

这是我的代码:

$(document).ready(init);

function init(){
    var usuario = $('#usuario').val;
    var contrasena = $('#contrasena').val;

    $("#aceptar").click(validacion);
}
function validacion(){
    var valido = true;

    if(usuario == ""){
        $("p").text("Ingrese un nombre de usuario.");
        valido = false;
    }
    if(contrasena == ""){
        $("p").text("Ingrese una contraseña.");
        valido = false;
    }

    if(valido){
        envioAjax();
    }else{
        return false; //I think here is the problem but I don't know.
    }
}
function envioAjax(){
    $.post("registro.php", $('#registro').serialize(), recibir);
    return false;
}
function recibir(respuesta){
    $("p").text(respuesta);
}

最佳答案

您在使用 val() 时遇到语法问题,并且在用户插入 2 个输入值之前您可能无法获取它们

 var usuario = $('#usuario').val //undefined

应该是

 var usuario = $('#usuario').val();

但是,您应该在 validacion() 方法中获取这些值

function validacion(){
    /* now get the values */
    var usuario = $('#usuario').val();
    var contrasena = $('#contrasena').val();
    /* remainder of your validation code/ ajax */

}

您当前拥有的 usuario 将为 undefined,因此不等于空字符串。因此 if(usuario =='') 永远不会为 true,因为它与 if(undefined == '')

相同

关于javascript - 为什么我的 Ajax 加载 php 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28970542/

相关文章:

PHP Websocket 服务器 hybi10

php - 翻译数据库中产品的有效方法

javascript - 为什么这不存在xss漏洞?

javascript - 导出默认的新对象

php - CakePHP 将新模型关联添加到现有表

javascript - 生成的输入和默认值

jquery - 单击时将一个 div 替换为另一个 - jquery

javascript - JQuery 动态按钮

javascript - 如何从 JavaScript 给定数据对象获取 ajax 查询字符串?

javascript - 将 php 变量传递并更新为 javascript