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?
@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" />
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With