![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
The non-techie summary - disable the Kaspersky URL Advisor browser plugin, unless you want some website forms to break.
So... my friend Tony is tearing his hair out (what little he has left) because his new iMac won't submit web forms in Firefox - he's pretty much at the point of giving the thing away. After suggesting all the obvious things over the phone (make sure JS is turned on, etc), I get him to bring it round, and have a peek.
It transpires that (for example) if he submits a certain form on parcel2go.com, none of the form fields get submitted. So, we run the same query on the wife's MacBook Air.
Works fine.
Ok. Time to dig out the Web Developer tools and have a look - it seems that they have a form validation Ajax request that on Tony's Firefox returns a 500, on Anne's a 200. A closer look reveals one rather bizarre difference: on Anne's machine, the request is submitted as a POST with Content-Type: application/json. On Tony's, it's submitted as application/x-www-form-urlencoded... but still has a payload which is clearly JSON.
What.. the...????
*More* digging into the page source reveals that it's done using jQuery's $.ajax(), which defaults to application/x-www-form-urlencoded, and isn't being passed a contentType param.
However, *Tony's* machine has Kaspersky's URL Advisor plugin installed, which comes with its OWN version of jQuery, which seems to be loading in a manner that overrides the one Parcel2Go want to use (which latter evidently sets a default contentType of application/json in $.ajaxSetup().
Disable Kaspersky URL Advisor, and all is shiny again.
So... my friend Tony is tearing his hair out (what little he has left) because his new iMac won't submit web forms in Firefox - he's pretty much at the point of giving the thing away. After suggesting all the obvious things over the phone (make sure JS is turned on, etc), I get him to bring it round, and have a peek.
It transpires that (for example) if he submits a certain form on parcel2go.com, none of the form fields get submitted. So, we run the same query on the wife's MacBook Air.
Works fine.
Ok. Time to dig out the Web Developer tools and have a look - it seems that they have a form validation Ajax request that on Tony's Firefox returns a 500, on Anne's a 200. A closer look reveals one rather bizarre difference: on Anne's machine, the request is submitted as a POST with Content-Type: application/json. On Tony's, it's submitted as application/x-www-form-urlencoded... but still has a payload which is clearly JSON.
What.. the...????
*More* digging into the page source reveals that it's done using jQuery's $.ajax(), which defaults to application/x-www-form-urlencoded, and isn't being passed a contentType param.
However, *Tony's* machine has Kaspersky's URL Advisor plugin installed, which comes with its OWN version of jQuery, which seems to be loading in a manner that overrides the one Parcel2Go want to use (which latter evidently sets a default contentType of application/json in $.ajaxSetup().
Disable Kaspersky URL Advisor, and all is shiny again.
(no subject)
Date: 2012-08-10 11:05 am (UTC)