besoin d’aide avec la fonction nestede jquery

S’il vous plaît trouver mon code ci-dessous. Mon problème est que je le jQuery.get () interne n’est pas exécuté. Quelqu’un pourrait-il m’aider avec ça?

jQuery(document).ready(function() { $('.error').hide(); $(".button").click(function() { // validate and process form here $('.error').hide(); var zipCode = $("input#name").val(); if (zipCode == "") { $("label#name_error").show(); $("input#name").focus(); return false; } var key = 'ac9c073a8e025308101307'; var noOfDays = 5; var url = 'http://www.worldweatheronline.com/feed/weather.ashx?q=' + zipCode + '&format=json&num_of_days=' + noOfDays + '&key=' + key; alert(url); jQuery.get(url, function(test) { alert(url); $.each(test.data.weather, function(i, item){ $("body").append("

Date: "+item.date+"

"); if ( i == 3 ) return false; }); }, 'jsonp')(); }); });

Ma forme HTML ressemble à

 

J’apprécierais vraiment tous les indicateurs.

Merci!

Le problème que vous rencontrez est que vous ne faites rien pour empêcher votre formulaire d’être soumis. Il soumet donc le formulaire avant qu’il ne puisse obtenir les données du site worldweatheronline.com.

Changez votre gestionnaire de clics comme ceci:

  $(".button").click(function(event) { event.preventDefault(); 

Voici mon exemple de code complet qui fonctionne comme vous le souhaitez:

       

Allumez Fiddler ou Firebug et regardez l’appel HTTP sortir. Vous verrez le message d’erreur HTTP ici. Activez également votre console dans Chrome ou Firefox pour voir une erreur potentielle de JavaScript.

Une partie du problème pourrait être le jeu supplémentaire de parenthèses après l’appel de la fonction .get (). Tu as:

 jQuery.get(url, function(test) { alert(url); $.each(test.data.weather, function(i, item){ $("body").append("

Date: "+item.date+"

"); if ( i == 3 ) return false; }); }, 'jsonp')();

CA devrait etre:

 jQuery.get(url, function(test) { alert(url); $.each(test.data.weather, function(i, item){ $("body").append("

Date: "+item.date+"

"); if ( i == 3 ) return false; }); }, 'jsonp');

Je vais aller sur une twig et devinez que (sur la base de l’URL 'http://www.worldweatheronline.com/feed/weather.ashx?q=' ) que vous essayez d’exécuter une demande AJAX sur un site externe . Cela viole la politique de même domaine et échouera en silence.