调试:IE6 + SSL + AJAX + post form = 404错误 [英] Debugging: IE6 + SSL + AJAX + post form = 404 error

查看:354
本文介绍了调试:IE6 + SSL + AJAX + post form = 404错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

设置

该程序尝试通过AJAX调用将表单数据发布到与调用者相同的包中包含的目标过程。这是针对使用安全连接(HTTPS)的站点完成的。这里使用的技术是 PLSQL DOJO JavaScript库。开发工具是基本上是一个文本编辑器

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.

代码段:

> 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;  
       }    

问题:

当使用IE6(整个用户所使用的)时,从服务器发回的响应是404错误。

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

观察:

该程序在Firefox中正常工作。

调用过程无法定位同一个包中的任何程序。

调用过程可以定位到外部站点(包括http,https)。

包中的其他AJAX调用不是表单数据工作的帖子

我已经搜索了互联网,并咨询了高级技能的团队成员,并没有发现任何令人满意的解决问题的方式。

*尝试 Q& A 在Dojo支持论坛上。

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.

问题:

您推荐哪些疑难解答技术?

什么疑难解答工具您建议进行HTTPS分析?

关于什么问题的任何假设?

任何不是全部(坏)黑客的解决方案的想法?

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。解决方案

lomaxx,thx for the fiddler 提示。你不知道如何获得这些,并将其用作调试工具。在启动之后,这是我发现和我如何修复(至少在短期内):

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

从服务器看到消息后,我踢了一下Fiddler,看看还能从中学到什么。发现有一个WebForms选项卡显示Web窗体中的值。你不会知道的,上面的 xxx_DISPLAYED _ 字段在其中。

After seeing that message from the server, I kicked around Fiddler a bit more to see what else I could learn from it. Found that there's a WebForms tab that shows the values in the web form. Wouldn't you know it, the "xxx_DISPLAYED_" fields above were in it.

我真的不明白为什么这些字段存在,因为我没有在网络中明确创建它们 PLSQL 代码。但我现在明白,目标程序必须将它们作为参数进行正确的工作。再次,这只是在我的这个 IE6 的情况下,因为Firefox工作正常。

I don't really understand yet why these fields exist, because I didn't create them explicitly in the web PLSQL code. But I do understand now that the target procedure has to include them as parameters to work correctly. Again, this is only in the case of IE6 for me, as Firefox worked fine.

那么,短期的答案和黑客解决它。希望在这方面多一点工作能够更好地了解这里的基本原理。

Well, that the short term answer and hack to fix it. Hopefully, a little more work in this area will lead to a better understanding of the fundamentals going on here.

推荐答案

第一个呼叫端口将是启动 Fiddler ,并分析浏览器中的数据。

First port of call would be to fire up Fiddler and analyze the data going to and from the browser.

查看标题,实际上是url被调用,并且params(如果有的话)被传递给AJAX方法,并看到它在看到服务器之前是否都看起来不错。

Take a look at the headers, the url actually being called and the params (if any) being passed to the AJAX method and see if it all looks good before getting to the server.

有什么办法可以验证它实际上是通过日志记录服务器,还是在AJAX方法中进行跟踪?

If that all looks ok, is there any way you can verify it's actually hitting the server via logging, or tracing in the AJAX method?

ed:另一件事我会尝试将一个测试页面使用非基于Ajax的调用在服务器上调用AJAX方法,并分析fiddler中的流量并比较两者。

ed: another thing I would try is rig up a test page to call the AJAX method on the server using a non-ajax based call and analyze the traffic in fiddler and compare the two.

这篇关于调试:IE6 + SSL + AJAX + post form = 404错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆