[ https://issues.apache.org/jira/browse/MYFACES-4672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17856861#comment-17856861 ]
Werner Punz edited comment on MYFACES-4672 at 6/21/24 8:53 PM: --------------------------------------------------------------- I am a little bit puzzled why you get the g.hasKey is not a function. There is decoration code which explicitly adds the hasKey /** * creates a neutral form data wrapper over an existing form Data element * the wrapper delegates following methods, append * and adds makeFinal as finalizing method which returns the final * send representation of the element * * @param formData an array */ createFormDataDecorator:function (formData) was (Author: werpu): I am a little bit puzzled why you get the g.hasKey is not a function. There is decoration code which explicitly adds the hasKey /** * creates a neutral form data wrapper over an existing form Data element * the wrapper delegates following methods, append * and adds makeFinal as finalizing method which returns the final * send representation of the element * * @param formData an array */ createFormDataDecorator:function (formData) That one creates formData shims and all of them have the hasKey, I will look into this! Btw. Multipart reverts in old browsers to an iframe transport if xhr level 2 cannot be provided > Uncaught TypeError: G.hasKey is not a function > ---------------------------------------------- > > Key: MYFACES-4672 > URL: https://issues.apache.org/jira/browse/MYFACES-4672 > Project: MyFaces Core > Issue Type: Bug > Affects Versions: 2.2.16 > Reporter: Volodymyr Siedlecki > Assignee: Werner Punz > Priority: Major > > This affects 2.2 which I know is out of date, but I have a user of MyFaces > 2.2 who needs this bug fixed. > I ported MYFACES-4606 to 2.2 here: > [https://github.com/apache/myfaces/pull/647] > 4606 was applied to 2.3, so I applied the same fix to 2.2. However, I didn't > realize that _AjaxRequestLevel2 was removed from 2.3 in this PR: > [https://github.com/apache/myfaces/pull/415/files] > _AjaxRequestLevel2 still exists in the 2.2 codebase. > This mean that `if(targetBuf.hasKey(identifier))` was called from > _AjaxRequestLevel2's getFormData which does not decorate the FormData to > include the hasKey method – thus we get " G.hasKey is not a function". > [https://github.com/volosied/myfaces/blob/d5d28a0e6cae3ea22e021c64ecf474d6352bf900/api/src/main/javascript/META-INF/resources/myfaces/_impl/xhrCore/_AjaxRequestLevel2.js#L32-L44] > This error is reproducible via multi-part form requests that use ajax. > What is the proper fix here? I'll create a draft PR for what I think is > correct. > Thanks! -- This message was sent by Atlassian Jira (v8.20.10#820010)