2014-07-14 3 views
0

J'ai une application pyramidale fonctionnant parfaitement sur un serveur local, mais lorsque je la déplace vers un serveur Web (Dreamhost), j'obtiens l'erreur suivante:400 Bad Demande d'erreur lors du déplacement de l'application du serveur local vers le serveur Web

400 Bad Request: 
Bad request (GET and HEAD requests may not contain a request body) 

le code en question est la suivante ajax en Javascript:

function summary_ajax(sName){ 

     $.ajax({ 
      type: "POST", 
      url: "summary", 
      dataType: "json", 
      data: { 
       'ccg_name': sName, 
      }, 
      async: false, 
      success: function(data) { 

       //alert("In ajax success function") <----------- This never executes 
       lValues = data.lValues; 
       lLabels = data.lLabels; 
      }, 
     }); 
    }; 
    return (lValues, lLabels); 

Et est traitée dans views.py:

@view_config(route_name="ccg_map_summary_ajax",renderer="json") 
def ccg_map_summary_ajax(self): 


    sCCG = self.request.POST.get('ccg_name') 

    fData = open('pyramidapp/static/view_specific_js/ajax_summary_data.js') 
    dData = json.load(fData) 

    lLabels = dData[sCCG].keys() 
    lValues = dData[sCCG].values() 


    return { 
     'lLabels' : lLabels, 
     'lValues' : lValues, 
     } 

J'ai fait quelques tests en plaçant des fonctions alert() (c'est lent, parce que le serveur ne recharge que le script toutes les minutes), et tout s'exécute bien sauf pour les alertes dans l'appel ajax. Il semble donc que le message échoue, ou que quelque chose ne va pas dans la vue. Des idées?

Y a-t-il quelque chose dans ce code qui fonctionne sur mon serveur local (dans Pyramid) mais qui se décompose dans le serveur web (Dreamhost)?
La structure du fichier est la même dans le serveur local et le serveur Web. Je ne vois pas pourquoi cela ne devrait pas, mais fData va-t-il toujours ouvrir le fichier pour le lire?

+0

Si vous ne pouvez pas accéder aux journaux dans les serveurs, bonne chance. Si le problème est une exception non gérée, vous pourrez peut-être l'attraper et afficher son message, il suffit de laisser tomber un gros essai, sauf autour de la gestion de vos requêtes. –

Répondre

0

Pour quelqu'un d'autre là-bas, je trouve le problème:

Le chemin que je spécifié ci-dessus était un chemin relatif qui a travaillé sur mon système, mais pas sur le serveur parce que les répertoires de travail sont évidemment différentes. Donc, au lieu d'utiliser un chemin relatif, j'ai juste changé le script pour avoir le chemin absolu correct.

Pour trouver le chemin du répertoire de travail actuel, entrez simplement pwd dans le terminal.

Questions connexes