作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 jQuery ajaxForms plugin使 ajax 提交到我的 CakePHP 应用程序。
Cake 的 RequestHandler 通过查看“X-Requested-With” header 来检测 ajax 请求,但表单插件似乎没有设置它。或者jQuery在使用插件的时候没有设置。
我试过很多东西,
在我添加的主要 onload 函数中:
$.ajaxSetup({
headers: {"X-Requested-With":"XMLHttpRequest"}
});
在插件代码中,我在实际的 ajax 调用之前添加了这个:
options.beforeSend = function(xhr) {
xhr.setRequestHeader("X_REQUESTED_WITH", "XMLHttpRequest");
};
进行常规的 ajax 调用,并设置 header ...
谁能告诉我发生了什么或最重要的是,我该如何解决这个问题?
最佳答案
@Nicky De Maeyer 对自己问题的回答
实际上您不需要自己执行此操作(附加一个隐藏的输入字段)。
据我所知,您可以将此类数据传递给选项对象中的 ajaxForms 插件
$('#myForm1').ajaxForm({data:{"X_REQUESTED_WITH":"XMLHttpRequest"}});
应该自动(在隐藏的 iframe 文件上传情况下)在提交时将这样的输入附加到您的表单
<input type="hidden" name="X_REQUESTED_WITH" value="XMLHttpRequest" />
关于javascript - X-Requested-With header 未在 jquery ajaxForm 插件中设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1846675/
我是一名优秀的程序员,十分优秀!