jQuery AJAX POST se convierte en GET
Frecuentes
Visto 5,841 veces
6
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>
1 Respuestas
8
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 hay formulario dentro de #domainform... - thebjorn