Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-4274

Issue with IE browsers and Ajax Requests, body data is not sent to server. Client experiences hang

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Not A Problem
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: wicket
    • Environment:
      Server: IBM Websphere 6 with IHS plugin. Wicket 1.4.13. Java6. The client side is mostly Internet Explorer 8, 9. Compatibility and Non Compat modes.

      Description

      I am experiencing an issue where the browser is not submitting POST data from an ajax request and so the server waits for it and hangs. The browser, mostly IE8 will send the header information and the content-length is 36 but the server never receives that 36 bytes of data.
      I see the issue on IE8 and IE9 with and without compatibility mode.

      But I DON'T see the error on other browsers.

      It happens about 10% of all the requests out of 100,000 requests.

      What would cause this issue? IE bug? IE bug with ajax requests?

      It seems to happen mostly from the client side. Is it possible that Internet Explorer has some kind of bug where it won't send that data?
      I read somewhere that IE can only have one connection to the server, maybe two are being opened.

      Here is a snippet from the framework code:

      Wicket Java Code:

      dropDownComponent.add( new AjaxFormComponentUpdatingBehavior( "onclick" ) {

      @Override
      protected void onUpdate( final AjaxRequestTarget target )

      { target.addComponent( someForm ); }

      // End of the method //

      } );

      wicket-ajax.js:
      ...
      Javascript call on the client-side:

      1. t.open("POST", url, this.async);
      2. t.onreadystatechange = this.stateChangeCallback.bind(this);
      3. t.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      4. // set a special flag to allow server distinguish between ajax and non-ajax requests
      5. t.setRequestHeader("Wicket-Ajax", "true");
      6. t.setRequestHeader("Accept", "text/xml");
      7. t.send(body);

      ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: POST
      ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: Accept: text/xml
      ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: Accept-Language: en-us
      ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: wicket-ajax: true
      ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: Referer: https://data.com/l/launch/
      ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: wicket-focusedelementid: id1924
      ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: Content-Type: application/x-www-form-urlencoded
      ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: Accept-Encoding: gzip, deflate
      ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; MS-RTC LM 8)

      ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: Content-Length: 36
      ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: Cache-Control: no-cache
      ÝMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: Cookie:

      ...
      The request information is SENT but no BODY data.

      ...
      Arch Configuration:
      Server: IBM Websphere 6 with IHS plugin. Wicket 1.4.13. Java6. The client side is mostly Internet Explorer 8, 9. Compatibility and Non Compat modes.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              berlinbrown Berlin Brown
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: