jQuery AJAX POST se convierte en GET

Estoy tratando de enviar datos de formulario a la página actual para el manejo de variables usando jQuery. Cuando envío la solicitud POST, el servidor recibe una solicitud GET y mi URL cambia para coincidir con ese GET. Entiendo que jQuery se convierte automáticamente en una solicitud GET si no uso implícitamente type: "POST", pero eso es lo que creo que estoy haciendo. Cualquier ayuda sería apreciada.

<script>
    function addadomain(){
        $.ajax({
            type: "POST",
            url: "domains.php",
            data: $("#domainform form").serializeArray(),
            success: function() {
                $("#domainlist").load("domains.php #domainlist");
                $.ajaxSetup({ cache: false });
            }
        });
        return false;
    };
</script>

<a id="displayText" href="#" onclick="toggle();" >Add Domains</a> 

<div id="toggleText" style="display: none">
    <form name="adddomain" id="domainform" autocomplete="on">
        <input type="hidden" name="userid" id="userid" value="<?PHP echo $loggedInUser->user_id; ?>" />

        Domain: <input type="text" name="domain" id="domain" required="required" /><br />
        Keyword: <input type="text" name="keyword" id="keyword" required="required" /><br />
        Facebook Url: <input type="text" name="facebook" id="facebook" /><br />
        Twitter Url: <input type="text" name="twitter" id="twitter" /><br />
        Analytics ID#: <input type="text" name="analytics" id="analytics" /><br />
        Blogspot Url: <input type="text" name="blogspot" id="blogspot" /><br />

        <input type="submit" onclick="addadomain()" id="submit" value="submit" />
    </form> 
</div>

preguntado el 22 de mayo de 12 a las 21:05

No hay formulario dentro de #domainform... -

1 Respuestas

es posible que deba hacer:

e.preventDefault()

http://api.jquery.com/event.preventDefault/

al cargar la página para que su envío no tenga su acción predeterminada además de su llamada ajax ... también, puede agregar una acción de formulario en su etiqueta de formulario action="post"

contestado el 22 de mayo de 12 a las 21:05

Primero, necesita convertir eso onclick= atributo HTML en .on('click',function(e) {...}) - traficante de llamas

Podría ser onclick="return addadomain(); y entonces return false de la función en sí, porque no está adjuntando directamente la función al evento de clic. +1 por identificar el problema. - Rory McCrossan

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.