2008-11-18 8 views
1

J'ai commencé à entrer dans jQuery et j'ai eu un problème avec un appel jQuery Post fonctionnant parfaitement sur ma boîte de développement local (serveur Web intégré VS 2008), mais échouant lorsque je déployais sur un serveur Windows 2003 (IIS 6) boîte.jQuery .Net Deployment Problème

La publication fonctionne et la page est en cours de traitement pour traiter les éléments correctement, mais une réponse n'est jamais reçue par la fonction Post appelante. La page de soumission recharge juste sans aucun changement.

Voici ma fonction Post (il est enfermé dans la $(document).ready(function() {...

L'alerte dans la fonction de réponse ne se déclenche:

 $('.nextButton').click(function() { 

      var idString = ''; 

      $("div.dropZone > div").each(function(n) { 
       idString += this.id + '|'; 
      }); 

      $.post('CustomPostHandler.aspx?step=criteria', { 
       selected: idString 
      }, 
       function(data) { 
        alert(data); 
       }); 
     }); 

La page de poste de gestionnaire ne reçoit l'amende variable de idString, après un traitement il tente d'écrire une réponse:

 // Return dummy response to caller 
     Response.Clear(); 
     Response.ContentType = "text/plain"; 
     Response.Write("success"); 
     Response.End(); 

J'ai vérifié l'environnement du serveur de déploiement et je ne vois rien de manquant (t son fonctionne contre le framework 3.5 SP1). Quelqu'un at-il des idées ou ai-je oublié quelque chose?

Répondre

1

Le problème est probablement dû à la mise en cache.
Essayez d'ajouter un nombre aléatoire au poste URL

$.post('CustomPostHandler.aspx?step=criteria&random=' + Math.random().toString(), { 
      selected: idString 
     }, 
+0

Merci pour la réponse, ajouté le # aléatoire comme vous avez suggéré. Toujours pas de réponse à revenir. Pour le court terme, j'ai juste décidé d'ignorer n'importe quelle réponse et recharger juste la page pour ramasser les informations de serveur mises à jour. Pas idéal mais ok pour le moment. – Harrison

0

Je suis d'accord qui est probablement dû à la mise en cache. La fonction plus générale $.ajax vous permet de définir l'option de cache sur false afin de désactiver la mise en cache.

Regardez le documentation.