Title:
Passing JSON argumentcollection to CFC from JavaScript broken after updater 4
| View in TrackerStatus/Resolution/Reason: Closed/Withdrawn/Duplicate
Reporter/Name(from Bugbase): Eric Cross / Eric Cross ()
Created: 05/09/2017
Components: General Server
Versions: 2016
Failure Type: Incorrectly functioning
Found In Build/Fixed In Build: ColdFusion (2016 release) Update 4 (release date April 25, 2017) /
Priority/Frequency: Normal / All users will encounter
Locale/System: English / Win 2012 Server x64
Vote Count: 1
Problem Description:
Functionality change from Updater 3 to Updater 4 caused JavaScript load with parameters to stop sending argumentcollection
Steps to Reproduce:
The following JavaScript code was working properly prior to updater 4.
args = JSON.stringify(data);
panel.load('/com/cms/admin.cfc?method=displaySlideOut', {argumentcollection:args}, function() {
alert('loaded;);
});
Actual Result: Arguments struct does not contain any of the parameters defined in the passed argumentcollection (Attachment: CF2016-update4-broken.jpg)
Expected Result: Parameters passed to argumentcollection appear as arguments in the called function. (Attachment: CF2016-update3-working.jpg)
You can see in the attached screenshots that the arguments struct is not being populated.
Note: arguments.a and arguments.action are defined in the application.cfc
Any Workarounds: If I change my code and list each item as an individual parameter it works. I rolled back to updater 3 and everything works properly again.
panel.load('/com/cms/admin.cfc?method=displaySlideOut', {test:1}, function() {
alert('loaded;);
});
This properly passes argument Test = 1
Attachments:
- May 09, 2017 00:00:00: CF2016-update3-working.jpg
- May 09, 2017 00:00:00: CF2016-update4-broken.jpg
- May 12, 2017 00:00:00: index.cfm
- May 12, 2017 00:00:00: admin.cfc
Comments: