jQuery ajaxForm插件中未设置X-Requested-With标头

我正在使用jQuery ajaxForms插件使ajax提交到我的CakePHP应用。

Cake的RequestHandler通过查看“ X-Requested-

With”标头来检测ajax请求,但forms插件似乎并未对其进行设置。或jQuery在使用插件时未设置它。

我已经尝试了几件事,

在主要的onload函数中,我添加了:

$.ajaxSetup({

headers: {"X-Requested-With":"XMLHttpRequest"}

});

在插件代码中,我在实际的ajax调用之前添加了此代码:

options.beforeSend = function(xhr) {

xhr.setRequestHeader("X_REQUESTED_WITH", "XMLHttpRequest");

};

进行常规的ajax调用会设置标头…

谁能告诉我发生了什么或最重要的是,我该如何解决?

回答:

@Nicky De Maeyer对自己问题的回答

实际上,您不需要自己执行此操作(附加一个隐藏的输入字段)。

AFAIK,您可以将此类数据传递给options对象中的ajaxForms插件

$('#myForm1').ajaxForm({data:{"X_REQUESTED_WITH":"XMLHttpRequest"}});

应该自动(在隐藏的iframe文件上传情况下)在提交时将此类输入附加到您的表单中

<input type="hidden" name="X_REQUESTED_WITH" value="XMLHttpRequest" />

以上是 jQuery ajaxForm插件中未设置X-Requested-With标头 的全部内容, 来源链接: utcz.com/qa/397305.html

回到顶部