natif J'ai le code suivant:jQuery fonctionne ajax mais JS ajax
Contrôleur
def some_method
respond_to do |format|
format.js { render js: "alert();" }
end
end
JS
Cette alerte exécute();
jQuery.ajax({
url: url
});
Ceci n'exécute pas alert();
var xhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
xhttp.open("GET", url, true);
xhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhttp.send();
Qu'est-ce qui est si différent dans jQuery que dans JavaScript?
Remarque:
1> Les deux demandes feu l'AJAX. Mais, seule la requête jQuery exécute le code JS, mais pas JS AJAX natif.
2> J'ai déjà comparé, Demande et Réponse en-têtes pour les deux types de demandes. Mais, je ne trouve aucune différence.
Quelle version de jQuery utilisez-vous? – Walk
@Walk 1.8.3. Mais, comment cela compte-t-il? – Abhi
Je crois que c'est un bogue dans jQuery 1.x et 2.x, il ne devrait pas être exécuté immédiatement dans 3.x. Vérifiez cette page https://github.com/jquery/jquery/issues/2432 Je suppose que vous devrez «eval' résultat pour atteindre la même fonctionnalité. – Walk