Отладка: IE6 + SSL + AJAX + post form = ошибка 404

Настройки:
Рассматриваемая программа пытается отправить данные формы через вызов AJAX в целевую процедуру, содержащуюся в том же пакете, что и вызывающий. Это сделано для сайта, который использует безопасное соединение (HTTPS). Используемая здесь технология - PLSQL и библиотека JavaScript Додзё. Инструмент разработки - в основном текстовый редактор.

Фрагмент кода:

> 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.

Наблюдения:
Программа отлично работает в Firefox.
Вызывающая процедура не может нацеливаться на какие-либо процедуры в одном пакете. Вызывающая процедура может быть нацелена на внешние сайты (как http, https) .
Другие вызовы AJAX в пакете, которые не являются сообщениями данных формы, работают нормально. Я искал Интернет и проконсультировался с высококвалифицированными членами команды и не нашел ничего, что удовлетворительно решало бы эту проблему. * Пробовал Вопросы и ответы на форумах поддержки Dojo.

Вопросы:
Какие методы устранения неполадок вы рекомендуете? Какие инструменты устранения неполадок вы рекомендуете для анализа HTTPS?
Есть какие-нибудь гипотезы по поводу того, в чем может быть проблема? Есть идеи обходных путей, которые не являются полным (плохим) взломом?

Эд. Решение
lomaxx, спасибо за наконечник скрипач. Вы даже не представляете, как здорово было получить это и использовать в качестве инструмента отладки. после запуска это то, что я нашел и как я это исправил (по крайней мере, в краткосрочной перспективе):

> 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, которая показывает значения в веб-форме. Разве вы не знали, поля "xxx_DISPLAYED_" выше были в нем.

Я еще не совсем понимаю, почему эти поля существуют, потому что я не создавал их явно в веб-коде PLSQL. Но теперь я понимаю, что целевая процедура должна включать их в качестве параметров для правильной работы. Опять же, для меня это только в случае IE6, так как Firefox работал нормально.

Хорошо, что краткосрочный ответ и хакерство, чтобы это исправить. Надеюсь, немного больше работы в этой области приведет к лучшему пониманию основных принципов, происходящих здесь.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
6
0
3 503
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Первый порт вызова - запустить Скрипач и проанализировать данные, поступающие в браузер и из него.

Взгляните на заголовки, фактически вызываемый URL-адрес и параметры (если есть), передаваемые в метод AJAX, и посмотрите, все ли это выглядит хорошо, прежде чем попасть на сервер.

Если все в порядке, есть ли способ проверить, действительно ли он попадает на сервер, через ведение журнала или трассировку с помощью метода AJAX?

ed: еще одна вещь, которую я бы попробовал, - это настроить тестовую страницу для вызова метода AJAX на сервере с использованием вызова, отличного от ajax, и проанализировать трафик в fiddler и сравнить их.

Lomaxx: * Fiddler предназначен для HTTP. * Заголовки, URL, параметры - все в порядке. * Придется связаться с нашими корпоративными администраторами и посмотреть, достаточно ли они чувствуют себя хорошо, чтобы просматривать журналы.

user290 08.08.2008 08:04

«Fiddler для HTTP». Интересно ... на первой странице написано: «Fiddler 2 заменил Fiddler 1.x. Fiddler 2 поддерживает отладку HTTPS traffic, более богатую модель расширяемости, и при желании может быть установлен бок о бок с Fiddler 1.x. Обратите внимание, что Fiddler 2 требуется версия 2.0 .NET Framework. " Я все еще считаю, что стоит разжечь его :)

lomaxx 08.08.2008 08:09

Другие вопросы по теме