yo esperaría que el código siguiente para mostrar 'Hola mamá' entre el <div id='job-status'></div>
en la página de origen, pero no es así:¿Por qué no se llama mi callback jQuery.get()?
$(function() {
function show_status() {
$.get("<%= status_jobs_path -%>",
function(data) {
$('#job-status').html('hi mom');
}, 'json');
}
show_status();
});
La función get() que se dispare: Veo la solicitud de llegar a mi servidor y una respuesta 200 OK que contiene mi código JSON. Pero nunca se llama a una alerta() dentro del cuerpo function(data) { ... }
, ni se muestra 'hi mom' en la página. Sin embargo, si me tira hacia abajo el código a:
$(function() {
function show_status() {
$('#job-status').html('hi mom');
}
show_status();
});
... entonces lo hace la pantalla 'Hola mamá' en el <div id='job-status'></div>
.
IASISO (Estoy seguro de que es algo obvio), pero ¿qué me estoy perdiendo?
¿Ve el resultado exitoso en firebug/chrome dev herramientas? –
¿Estás seguro de que la respuesta es JSON válida? jQuery seguirá redirigiendo a la devolución de llamada 'error' (o [' deferred.fail'] (http://api.jquery.com/deferred.fail/) para '$ .get') si falla el análisis. –
Sí, no veo esa sigla cogiendo en. Con respecto a su pregunta, ¿está seguro de que el objeto JSON que se devuelve es válido y está estructurado adecuadamente? Además, ¿se trata de una solicitud del mismo dominio o dominio cruzado? – Aaron