J'utilise la commande Jquery (1.3.2) $ .post pour déclencher un appel ajax sur un serveur rails.
Le code fonctionne très bien sur Safari et sur Google Chrome (mac), mais quand je l'ai essayé sur Firefox (3.5.7), j'ai eu une erreur bizarre '406 Non Acceptable'.
Lorsque je regarde les en-têtes, Firefox indique qu'il n'accepte que les réponses 'texte/javascript'. Et la réponse Content-Type était 'text/html; jeu de caractères = utf-8 '.
Dans Chrome, les types acceptés étaient 'application/json, text/javascript, /, text/javascript' et la réponse Content-Type était 'application/json; jeu de caractères = utf-8 '.
J'ai essayé de forcer le type de contenu dans des rails pour 'text/javascript'
format.json do
render :json => @races.to_json, :content_type => 'text/javascript'
end
Le type de contenu est en effet changé dans Chrome, mais pas dans Firefox où il reste 'text/html'.
Voici le code que j'ai utilisé pour déclencher l'appel ajax.
$.post(
"/locator",
params,
function(data){...},
"json"
);
Y at-il quelque chose que je peux faire pour que cela fonctionne dans Firefox? Merci
Merci Paul. jQuery.ajaxSetup n'a fourni aucune aide, mais j'ai suivi votre première réponse. J'ai créé une route spécifique dans les rails dédiés à l'appel ajax ajaxlocator.json et ça marche maintenant très bien! Merci. – jlfenaux
La première solution a fonctionné pour moi aussi, merci Paul! –