Comunidad PHPeros
Lenguajes => JavaScript => AJAX => Mensaje iniciado por: iStocker en 03 de Diciembre de 2012, 00:52:12 am
-
El problema es que al parecer en Firefox envía los datos correctamente pero en Chrome/CoolNovo no lo hace, no sé porqué & no encuentro alguna solución... Les agradecería si me pudieran ayudar. Estoy usando la última librería de jQuery (code.jquery.com/jquery-lastest.js), uso la última versión de Chrome, uso Windows 7 & si necesitan algún dato más por favor comentarlo & les contestaré, gracias por su atención ñ.ñ
$("input").dblclick(function()
{
var data = $(this);
var url = "http://localhost/cmsdrako/habblet/ajax_updatemotto.php";
$.ajax({
type: 'POST',
url: url,
data: data.serialize(),
success: datUp(data)
});
function datUp(data)
{
console.log("LOG " + data.val());
$("input[data-id='motto']").slideUp("slow");
$("#motto").html(data.val()).fadeIn("slow");
}
});
-
Es por que estás haciendo una petición a un dominio http desde AJAX, lo cual no es permitido por los estándares de ECMAScript. Te recomiendo que te fijes si te lanza un error en la consola, y qué error es.
Adicionalmente, un par de recomendaciones sobre la calidad del código:
1- No necesitas declarar la variable URL, ya que el texto nunca va a variar y va a ser utilizado solo una vez.
2- No necesitas crear una función `datUp()`, ya que sólo se va a utilizar una vez en el código, lo mejor es utilizar una función anónima.
Por lo que al final, podrías usar tu código de la siguiente manera:
$('input').on('dblclick', function() {
var data = $(this);
$.ajax({
type: 'POST',
url: 'http://localhost/cmsdrako/habblet/ajax_updatemotto.php',
data: data.serialize(),
success: function() {
console.log('LOG %s', data.val());
$('input[data-id="motto"').slideUp('slow');
$('#motto').html(data.val()).fadeIn('slow');
}
});
});
Un saludo ;)