[ https://issues.apache.org/jira/browse/WICKET-6006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15070995#comment-15070995 ]
ASF subversion and git services commented on WICKET-6006: --------------------------------------------------------- Commit abd958d4eb128056bc7e57ab943dfc69c23b3925 in wicket's branch refs/heads/master from [~mgrigorov] [ https://git-wip-us.apache.org/repos/asf?p=wicket.git;h=abd958d ] WICKET-6050 Wicket Ajax (Wicket.From.serializeElement) causes 400 bad request WICKET-5948 wicket-ajax.js probably doesn't traverse the children of <div> or <span> WICKET-6006 ModalWindow.closeCurrent() causes 414 status error Introduce AjaxRequestAttributes#serializeRecursively with default value 'false'. This is a flag indicating whether to collect (submit) the name/value pairs for all HTML form elements children of the HTML element with the JavaScript listener > ModalWindow.closeCurrent() causes 414 status error > -------------------------------------------------- > > Key: WICKET-6006 > URL: https://issues.apache.org/jira/browse/WICKET-6006 > Project: Wicket > Issue Type: Bug > Components: wicket-extensions > Affects Versions: 6.20.0, 7.0.0 > Reporter: Martijn Dashorst > Assignee: Martin Grigorov > Priority: Minor > Fix For: 7.2.0, 8.0.0-M1, 6.22.0 > > Attachments: WICKET-5948.7z > > > When you have a panel inside a modal window, and the panel contains a form > with e.g. a textarea, and you fill the textarea with about 10k of text, when > the modal window is closed using closeCurrent() you get a 414 status error > stating that the URL is too long (depends on the backend server). > {code} > public ModalPanel1(String id) > { > super(id); > Form<?> form = new Form<>("form"); > add(form); > add(new AjaxLink<Void>("closeCancel") { > @Override > public void onClick(AjaxRequestTarget target) { > ModalWindow.closeCurrent(target); > } > }); > StringBuilder sb = new StringBuilder(); > for (int i = 0; i < 10000; i++) > sb.append("a"); > form.add(new TextArea<>("bigFingTextField", > Model.of(sb.toString()))); > } > {code} > Closing the window using ModalWindow.closeCurrent() will add the > serializedForm of the modal window's contents (See line 656 of > wicket-ajax-debug.js) to the URL that's sent to wicket. If the form inside > the panel contains lots of data, this will exceed the maximum URL length... > https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js#L656 > The workaround is of course to use > ModalWindow#close(IPartialPageRequestHandler) instead, however, why is > ModalWindow#closeCurrent() even there, and why doesn't it properly close the > window with the same behavior as the instance method? -- This message was sent by Atlassian JIRA (v6.3.4#6332)