Frage

Die Einstellung:
Das Programm in Frage versucht, post-Formular-Daten über einen AJAX-Aufruf an eine Ziel-Verfahren enthalten in die gleiche Paket wie der Anrufer.Dies geschieht für eine Website, die verwendet eine sichere Verbindung (HTTPS).Die Technologie, die hier ist PLSQL und die DOJO JavaScript-Bibliothek.Die Entwicklung Werkzeug im Grunde eine text-editor.

Code-Snippet:

> function testPost() {  
>>    dojo.xhrPost( {  
             url: ''dr_tm_w_0120.test_post'',  
             form: ''orgForm'',  
             load: testPostXHRCallback,  
             error: testPostXHRError  
            });  
      }  

> function testPostXHRCallback(data,ioArgs) {  
>>          alert(''post callback'');  
          try{  
          dojo.byId("messageDiv").innerHTML = data;  
          }  
          catch(ex){  
                if(ex.name == "TypeError")  
                {  
                  alert("A type error occurred.");  
                }  
          }   
          return data;  
       }         
> 
function testPostXHRError(data, ioArgs) {    
>>          alert(data);  
          alert(''Error when retrieving data from the server!'');  
          return data;  
       }    

Das Problem:
Bei der Verwendung von IE6 (die die gesamte Benutzer-Basis verwendet), wird die Antwort gesendet zurück von der server einen 404-Fehler.

Beobachtungen:
Das Programm funktioniert gut in Firefox.
Die aufrufende Prozedur kann nicht Ziel, die Verfahren innerhalb des gleichen Pakets.
Die aufrufende Prozedur kann Ziel außerhalb Webseiten (http, https).
Die anderen AJAX-Aufrufe in das Paket, nicht die Beiträge der Formular-Daten gut funktionieren.
Ich habe gesucht die internets und konsultiert mit senior-erfahrenes team-Mitglieder und habe nicht vor etwas, das zufriedenstellend behebt das Problem.
*Versucht Q&A über an-Dojo-support-Foren.

Die Fragen:
Welche Techniken zur Fehlerbehebung empfehlen Sie?
Welche tools zur Fehlerbehebung empfehlen Sie für HTTPS-Analyse?
Alle Hypothesen auf, was das Problem sein könnte?
Ideen für workarounds, die nicht total (schlecht) - hacks?

Ed.Die Lösung
lomaxx, thx für die fiddler Tipp.Sie haben keine Ahnung, wie genial es war, zu kommen, und verwenden Sie es als ein debugging-tool.nach dem Start von es das ist, was ich gefunden habe und wie ich es behoben (zumindest kurzfristig):

> ef Fri, 8 Aug 2008 14:01:26 GMT dr_tm_w_0120.test_post: SIGNATURE (parameter names) MISMATCH VARIABLES IN FORM NOT IN PROCEDURE: SO1_DISPLAYED_,PO1_DISPLAYED_,RWA2_DISPLAYED_,DD1_DISPLAYED_ NON-DEFAULT VARIABLES IN PROCEDURE NOT IN FORM: 0

Nach sehen, dass die Nachricht vom server, ich trat um Fiddler, ein bisschen mehr zu sehen, was sonst könnte ich von Ihr lernen.Gefunden, dass es eine WebForms Registerkarte zeigt die Werte in das web-Formular.Würden Sie nicht wissen es, die "xxx_DISPLAYED_"Felder wurden die oben in es.

Ich weiß nicht wirklich verstehen, aber warum diese Felder existieren, weil ich Sie nicht erstellen Sie ausdrücklich in die web PLSQL code.Aber ich verstehe jetzt, dass der Ziel-Verfahren hat, um Sie als Parameter, um korrekt zu arbeiten.Wieder, dies ist nur im Fall von IE6 für mich als Firefox funktioniert gut.

Gut, dass der Kurzfristige Antwort und hack zu beheben.Hoffentlich ein wenig mehr Arbeit in diesem Bereich führt zu einem besseren Verständnis der Grundlagen geht.

War es hilfreich?

Lösung

Erste Anlaufstelle wäre zu feuern Fiddler und analysieren Sie die Daten gehen aus dem browser.

Werfen Sie einen Blick auf die überschriften, die url tatsächlich aufgerufen wird, und die Parameter (falls vorhanden) wird, der an die AJAX-Methode und sehen, ob alles gut aussieht, bevor Sie auf den server.

Wenn das alles ok aussieht, gibt es eine Möglichkeit, Sie können überprüfen, ob dies tatsächlich auf den server via logging oder tracing in der AJAX-Methode?

ed:eine andere Sache, die ich versuchen würde, das ist rig eine test-Seite aufrufen, um die AJAX-Methode auf dem server mit einer nicht-ajax-basierten call-und analysieren den Datenverkehr in fiddler und die beiden vergleichen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top