Depanare: IE6 + SSL + AJAX + formular post = 404 eroare

The Setting:
The program in question tries to post form data via an AJAX call to a target procedure contained in the same package as the caller. This is done for a site that uses a secure connection (HTTPS). The technology used here is PLSQL and the DOJO JavaScript library. The development tool is basically a 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;  
       }    

The Problem:
When using IE6 (which the entire user-base uses), the response sent back from the server is a 404 error.

Observations:
The program works fine in Firefox.
The calling procedure cannot target any procedures within the same package.
The calling procedure can target outside sites (both http, https).
The other AJAX calls in the package that are not posts of form data work fine.
I've searched the internets and consulted with senior-skilled team members and haven't discovered anything that satisfactorily addresses the issue.
*Tried Q&A over at Dojo support forums.

The Questions:
What troubleshooting techniques do you recommend?
What troubleshooting tools do you recommend for HTTPS analyzing?
Any hypotheses on what the issue might be?
Any ideas for workarounds that aren't total (bad) hacks?

Ed. The Solution
lomaxx, thx for the fiddler tip. you have no idea how awesome it was to get that and use it as a debugging tool. after starting it up this is what i found and how i fixed it (at least in the short term):

> 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

După ce am văzut mesajul de la server, am dat peste Fiddler un pic mai mult pentru a vedea ce altceva am putut învăța de la el. S-a constatat că există o filă WebForms care afișează valorile din formularul web. Nu ați știut acest lucru, câmpurile " xxx_DISPLAYED _ " de mai sus au fost în el.

Încă nu înțeleg de ce există aceste câmpuri, pentru că nu le-am creat explicit în codul PLSQL din web. Dar acum înțeleg că procedura țintă trebuie să le includă ca parametri pentru a funcționa corect. Din nou, acest lucru este valabil numai în cazul IE6 pentru mine, deoarece Firefox a funcționat bine.

Ei bine, că răspunsul pe termen scurt și hack pentru a rezolva. Sperăm că un pic mai mult de lucru în acest domeniu va duce la o mai bună înțelegere a fundamentelor care se petrec aici.

0
fr hi bn

1 răspunsuri

Primul port de convorbire ar fi să declanșați Fiddler și să analizați datele care merg către și de la browser.

Aruncați o privire la anteturi, urlul fiind apelat și paramurile (dacă există) fiind transmise metodei AJAX și vedeți dacă totul arată bine înainte de a ajunge la server.

Dacă toate acestea arată bine, există vreo modalitate prin care să puteți verifica dacă atingeți serverul prin logare sau urmărirea în metoda AJAX?

ed: un alt lucru pe care aș încerca să-l încercați este să configurați o pagină de test pentru a apela metoda AJAX pe server utilizând un apel bazat pe non-ajax și să analizați traficul în fișier și să comparați cele două.

0
adăugat
"Fiddler este pentru HTTP." Interesant ... pe prima pagină se afișează: "Fiddler 2 a înlocuit fișierul Fiddler 1.x. Fiddler 2 suportă depanarea traficului HTTPS , un model mai larg de extensibilitate și poate fi instalat unul lângă altul cu Fiddler 1.x, dacă doriți. Rețineți că Fiddler 2 necesită versiunea 2.0 a .NET Framework. " Încă mai cred că merită să-l ardem :)
adăugat autor lomaxx, sursa
JavaScript, România - Moldova
JavaScript, România - Moldova
328 participanți

Comunitatea Română JavaScript: github.com/js-ro Pentru confort, opriți notificările. Parteneri: @node_ro, @php_ro, @python_ro, @seo_ro, @RomaniaGroup, @ai_ro, @Grupuri_IT Offtop: @holywars_ro Joburi: @js_jobs_ro Sponsored with ❤️ by ciupacabra.com