Juste pour signaler, je sais comment le faire avec jQuery et AngularJS. Le projet sur lequel je travaille actuellement m'oblige à utiliser du JavaScript simple. J'essaie de faire fonctionner AJAX avec du JavaScript simple. J'utilise Java/Spring pour la programmation backend. Voici mon code JavaScript:Obtenir AJAX pour travailler avec JavaScript
/** AJAX Function */
ajaxFunction = function(url) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.status == 200) {
var JSONResponse = JSON.parse(xhttp.responseText);
return JSONResponse;
}
}
xhttp.open('GET', url, true);
xhttp.send();
}
/** Call Function */
searchResults = function() {
var test = ajaxFunction('http://123.456.78.90:8080/my/working/url');
console.log(test);
}
/** When the page loads. */
window.onload = function() {
searchResults();
}
Il convient de noter que quand je vais directement à l'URL dans ma barre d'adresse du navigateur (par exemple, si je vais directement sur le lien http://123.456.78.90:8080/my/working/url), je reçois une réponse JSON dans le navigateur .
Lorsque je survole xhttp.status
, le statut indique 0, pas 200, même si je sais que le lien que j'appelle fonctionne. Est-ce quelque chose que vous devez définir dans les contrôleurs de Spring? Je ne pensais pas que c'était le cas parce que quand j'inspecte cet appel JS URL dans l'onglet Réseau, il indique que le statut est 200.
Dans l'ensemble, cette réponse revient undefined
. Je ne peux pas comprendre pourquoi. Qu'est-ce que je fais mal?
J'ai un peu d'expérience avec JavaScript, donc je ne me catégoriserais certainement pas comme ayant "aucune idée". Ma question portait spécifiquement sur AJAX. Je n'ai jamais dit que jQuery remplacerait JavaScript non plus. J'ai déjà posé des questions sur JavaScript auparavant, et une réponse commune est que tout ce que j'essaie de faire est plus facile à faire dans jQuery, c'est pourquoi j'ai fait ma première déclaration. Votre commentaire est impoli et non constructif. Si cette question faisait vraiment ressortir cette quantité de ressentiment, alors vous auriez pu aller sans répondre du tout. – aCarella
Jetez un coup d'œil à l'onglet Réseau de la console de votre navigateur et observez la nature de la requête GET lorsque vous y accédez. En particulier, regardez les en-têtes de la requête. Vous devrez peut-être définir explicitement le type mime, par exemple. Ensuite, émulez simplement ce que votre navigateur fait avec succès dans votre requête JavaScript. Est-ce une URL publique? Pouvez-vous l'afficher, si oui? – ManoDestra