Jquery Ajax不起作用

Jquery Ajax不起作用,jquery,html,ajax,Jquery,Html,Ajax,我对ajax方法有一个问题。我有一个带有两个字段的表单,电子邮件和密码。当我使用id=RegistrAction的标签“a”时,我调用ajax方法并跳转到其他地方 我的代码: <form id="form-registro" class="margen-left-445 absoluto margen-top-40 azul-corporativo"> <p class="bg-success espaciointerior-10 mensaje_activac

我对ajax方法有一个问题。我有一个带有两个字段的表单,电子邮件和密码。当我使用id=RegistrAction的标签“a”时,我调用ajax方法并跳转到其他地方

我的代码:

<form id="form-registro" class="margen-left-445 absoluto margen-top-40 azul-corporativo">
        <p class="bg-success espaciointerior-10 mensaje_activacion" style="display:none"></p>
        <p class="bg-danger espaciointerior-10 mensaje_activacion" style="display:none"></p>
        <h3 style="text-align: center; color: #044E7C;">Registrate gratis</h3>
        <div class="input-group">
            <input type="text" id="email" class="input-generico margen-top-10 margen-bottom-5" placeholder="Email" aria-describedby="basic-addon2">
        </div>
        <div class="input-group">
            <input type="password" id="password" class="input-generico margen-top-10 margen-bottom-5" placeholder="Contraseña" aria-describedby="basic-addon2">           
        </div>
        <div class="input-group margen-bottom-20">
            <input type="password" class="input-generico margen-top-10 margen-bottom-5" placeholder="Repita contraseña" aria-describedby="basic-addon2">
        </div>
        <a id="registroAction" class="btn boton-generico margen-left-38">Crear una cuenta gratis</a>
        <a href="<?php echo base_url(); ?>" class="btn boton-generico">Cancelar</a>
    </form>

免费注册
Jquery:

<script type="text/javascript">
$(function() {
    $("#registroAction").on("click", function(e){
        $.ajax({            
            url: '<?php echo base_url(); ?>frontend/registro/registrarAction',
            type: 'POST',
            dataType: 'json',  
            data: {email: $('#email').val(), password: $('#password').val()},
            success: function (response) {                   
                if ( response.ok == 'ok' ){
                    // Establecemos la clase necesario para mostrar el mensaje
                    var classname = ( response.ok == 'ok' ) ? '.bg-success' : '.bg-danger';
                    // Ocultamos el resto de mensajes de activacion
                    $('.mensaje_activacion').hide().html('');
                    // Mostramos y rellenamos según si ha salido bien o mal
                    $('.mensaje_activacion' + classname).html(response.responseText).show().fadeOut( 3000 );

                } else {
                    $(location).attr('href',response.url);
                }
            },
            error: function(estado){
                console.log(estado)
            }
        });
    });
});

$(函数(){
$(“#注册操作”)。在(“单击”上,函数(e){
$.ajax({
url:'前端/registro/RegistrAction',
键入:“POST”,
数据类型:“json”,
数据:{email:$('#email').val(),密码:$('#password').val()},
成功:功能(响应){
如果(response.ok==“ok”){
//门萨耶市莫斯特拉区所需资源
变量classname=(response.ok='ok')?'.bg success':'.bg danger';
//活动时间休息眼
$('.mensaje_activacion').hide().html('');
//Mostramos y rellenamos según si ha salido bien o mal
$('.mensaje_activacion'+classname).html(response.responseText.show().fadeOut(3000);
}否则{
$(location.attr('href',response.url);
}
},
错误:函数(estado){
console.log(estado)
}
});
});
});

首先,您的标签应该具有href属性。您可以使用href=“#”。 关于您的问题,您需要告诉浏览器忽略默认行为(以下链接):


这应该可以防止你看到的奇怪行为

这是因为相同的orgin策略,或者您的url可能在服务器端具有重定向。请参阅此

它是如何工作的?有错误信息吗?我们不能通过一个魔法球就知道你想要什么。
e.preventDefault()
…@War10ck为什么?它没有
href
,因此默认情况下不会执行任何操作。@SpencerWieczorek,这取决于页面的呈现方式。一个
-似乎没有任何证据表明有交叉起源。。。
$("#registroAction").on("click", function(e) {
  e.preventDefault();
  ....
}