Sto cercando di attivare la funzione di successo da una chiamata AJAX. So che funziona correttamente perché sto colpendo la mia API e posso vedere che sta colpendo correttamente l'URL e il server sta emettendo un HTTP 200.La funzione di successo AJAX non viene chiamata
Ho pensato che fosse perché il server sta emettendo JSON, così ho provato per tener conto di ciò nella chiamata AJAX, ma comunque la funzione di successo non funzionerà. Qui è il mio codice
ajax
$.ajax('http://localhost:3000/api/users/show/:id', {
type: 'GET',
dataType: 'json',
contentType: "application/json",
data: {
id: 1
},
success: function(response) {
return alert("Hey");
}
});
metodo API
class UsersController < ApplicationController
respond_to :json
def show
respond_with User.find(params[:id])
end
end
log del server
Started GET "/api/users/show/:id?id=1" for 127.0.0.1 at 2013-08-02 20:36:42 -0700
Processing by MainController#index as JSON
Parameters: {"id"=>"1", "path"=>"api/users/show/:id", "main"=>{}}
User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 1]]
Rendered main/index.html.erb within layouts/application (0.6ms)
Completed 200 OK in 146ms (Views: 144.3ms | ActiveRecord: 0.5ms)
[2013-08-02 20:36:42] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true
possibile duplicato di [Che cosa "WARN Impossibile determinare la lunghezza del contenuto del corpo della risposta". significa e come posso liberarmene?] (http://stackoverflow.com/questions/7082364/what-does-warn-could-not-determine-content-length-of-response-body-mean-and- h) – Raptor
Non penso che abbia a che fare con una chiamata AJAX. La risposta dice che l'avvertimento è sicuro da ignorare. – user2495030
Sai cosa ['dataType'] (http://api.jquery.com/jQuery.ajax/) significa davvero? Hai provato ad aggiungere un callback 'error'? –