X-Requested-With header not set in jquery ajaxForm plugin
ajax, javascript, jquery
Solution
@Nicky De Maeyer's answer to his own question
Actually you don't need to do this yourself (appending a hidden input field).
AFAIK you can just pass such data to ajaxForms plugin in the options object
$('#myForm1').ajaxForm({data:{"X_REQUESTED_WITH":"XMLHttpRequest"}});
Should automagically (in the hidden iframe file upload case) append such an input to your form on submission
<input type="hidden" name="X_REQUESTED_WITH" value="XMLHttpRequest" />
Problem
I'm using the jQuery ajaxForms plugin to make an ajax submit to my CakePHP app. Cake's RequestHandler detects ajax requests by looking at the "X-Requested-With" header, but the forms plugin does not seem to set it. Or jQuery does not set it when using the plugin. I've tried several things, in the main onload function i added: ``` $.ajaxSetup({ headers: {"X-Requested-With":"XMLHttpRequest"} }); ``` In the plugin code I added this right before the actual ajax call: ``` options.beforeSend = function(xhr) { xhr.setRequestHeader("X_REQUESTED_WITH", "XMLHttpRequest"); }; ``` Making a regular ajax call, does set the header... Can anyone tell me what's going on or most important, how can I fix this?