statement - select case en jquery
La comparaciĆ³n de cadenas de declaraciones ''If'' de jQuery no funciona (3)
Puede eliminar el final?> En su archivo, si es la última línea del archivo. Quiero responder a los comentarios sobre el problema original, pero no veo cómo.
Estoy teniendo un momento difícil tratando de hacer algo muy simple. Aquí está el código:
if(data == ''success'') {
alert(''foo'');
} else {
alert(data);
}
Lo simplifiqué, pero eso es todo lo que necesito para entender lo que está pasando. la variable ''datos'' es el resultado de una llamada AJAX, si eso hace alguna diferencia. El problema es que siempre va a la declaración ''else'' y alerta de ''éxito'', lo que no debería ocurrir si va al ''else''. ¿Alguna idea de lo que está pasando aquí?
EDITAR: Aquí está el código completo de AJAX en jQuery:
$.post("/manage_sites.php", {before:before, edit:after}, function(data){
if(data == success) {
alert(''blah'');
} else {
alert(data);
}
});
Y luego en la respuesta de PHP:
...code....
$update = mysql_query("UPDATE users SET feeds = ''$afterFeed'' WHERE username = ''$name''") or die("Query Failed");
if($update) {
echo ''success''; //this is the ''string'' that is being given to ''data''
}
Puedes arreglarlo en el lado del cliente usando $.trim()
como este:
if($.trim(data) == ''success'') {
O bien, un mejor enfoque sería eliminar la nueva línea proveniente del lado del servidor, probablemente una nueva línea errónea en su PHP en alguna parte, verificar antes o después del <? ?>
<? ?>
bloque, esto es más a menudo donde surgen.
O simplemente salga después de enviar su contenido, así:
if($update) {
echo ''success'';
exit();
}
Validación del lado del cliente que funciona bien.
$.trim() fine.
Gracias, Nick. Me llevó mucho tiempo entender por qué no funciona ...