[ 
https://issues.apache.org/jira/browse/WICKET-4643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13408889#comment-13408889
 ] 

Sven Meier commented on WICKET-4643:
------------------------------------

When wicket-ajax-jquery calls jQuery.ajax(), it passes the serialized field as 
the settings' data. But since the choice is not actually a form component, data 
is empty.

Since data is empty, jQuery doesn't set the default content-type (would be 
application/x-www-form-urlencoded):

        if ( s.data && s.hasContent && s.contentType !== false || 
options.contentType ) {
                jqXHR.setRequestHeader( "Content-Type", s.contentType );
        }

settings.data *is* changed in beforeSend() via 
AjaxFormChoiceComponentUpdatingBehavior's attrs.dep (dynamic extra parameters), 
but this is too late for the content-type.

Without "application/x-www-form-urlencoded" contentType, Wicket doesn't get 
hold on the post parameters via request#getParameter().

I've fixed the problem by using a GET instead of a POST. I'm not sure whether 
it would be better to evaluate attrs.dep *before* invoking jQuery's ajax() 
though.
                
> AjaxFormChoiceComponentUpdatingBehavior not set model object
> ------------------------------------------------------------
>
>                 Key: WICKET-4643
>                 URL: https://issues.apache.org/jira/browse/WICKET-4643
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 6.0.0
>            Reporter: dan simko
>         Attachments: quickstart1.zip
>
>
> AjaxFormChoiceComponentUpdatingBehavior cause ajax request but model object 
> is not set. Quickstart is attached.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to