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