DWR

ActiveReverseAjax broken in IE7 - "The data necessary to complete this operation is not yet available"

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 2.0.2, 2.0.3
  • Fix Version/s: 2.0.3
  • Component/s: Engine
  • Description:
    Hide
    DWR 2.0.2, setActiveReverseAjax(true) is breaking in IE7.

    IE is saying "The data necessary to complete this operation is not yet available", in
    dwr.engine._checkCometPoll (@ var text = req.responseText;)

    Possible underlying cause is batch.map.partialResponse getting set to true for IE with rpcType=XHR. This is due to the following bug:

    engine.js, branch_2_0, line 423 in dwr.engine._poll:

    else if (navigator.userAgent.indexOf("Safari/")) {
      batch.rpcType = dwr.engine.XMLHttpRequest;
      batch.map.partialResponse = dwr.engine._partialResponseYes;
    }

    indexOf check returns -1 for UA string not containing "Safari/", so the condition evaluates true for all non-Safari browsers, MSIE included.

    Looks like this was introduced in 1.95.2.9 -- the explicit check for MSIE was commented out disabling htmlfile), so the logic now falls through to the Safari case.
    Show
    DWR 2.0.2, setActiveReverseAjax(true) is breaking in IE7. IE is saying "The data necessary to complete this operation is not yet available", in dwr.engine._checkCometPoll (@ var text = req.responseText;) Possible underlying cause is batch.map.partialResponse getting set to true for IE with rpcType=XHR. This is due to the following bug: engine.js, branch_2_0, line 423 in dwr.engine._poll: else if (navigator.userAgent.indexOf("Safari/")) {   batch.rpcType = dwr.engine.XMLHttpRequest;   batch.map.partialResponse = dwr.engine._partialResponseYes; } indexOf check returns -1 for UA string not containing "Safari/", so the condition evaluates true for all non-Safari browsers, MSIE included. Looks like this was introduced in 1.95.2.9 -- the explicit check for MSIE was commented out disabling htmlfile), so the logic now falls through to the Safari case.

Activity

Hide
Phil McCarthy added a comment - 19/Feb/08 2:00 AM

The UA sniffer fix does prevent the error, but IE is only receiving changes from the server about once per minute now.

Re-enabling htmlfile works fine, though.

Show
Phil McCarthy added a comment - 19/Feb/08 2:00 AM The UA sniffer fix does prevent the error, but IE is only receiving changes from the server about once per minute now. Re-enabling htmlfile works fine, though.
Hide
Joe Walker added a comment - 21/Feb/08 10:31 AM

Thanks Phil - it's fixed now.

Show
Joe Walker added a comment - 21/Feb/08 10:31 AM Thanks Phil - it's fixed now.

People

Dates

  • Created:
    19/Feb/08 1:46 AM
    Updated:
    29/Feb/08 10:29 AM
    Resolved:
    21/Feb/08 10:31 AM