jquery - 新手: What does jQuery. ajaxSetup 'beforeSend' 做什么?

标签 jquery ruby-on-rails ajax

我在 Rails 应用程序中使用它。我有一些代码可以将响应类型更改为 javascript。

jQuery.ajaxSetup({
    'beforeSend': function(xhr) {
        xhr.setRequestHeader("Accept", "text/javascript")
    }
})

这在提交表单时工作正常,但在提交由 AJAX 生成的 javascript 表单以单击链接时似乎不会被调用(代码继续通过 Rails html 响应器)。

可能是一个简单的修复。有什么想法吗?

最佳答案

如果您想使用 Rails 的 respond_to ... 格式 block ,则需要使用 JQuery 设置 XHR header 。 Prototype 默认设置此值,但您需要在 JQuery 中手动设置它,因为当 text/javascript 位于接受 header 中时,会执行 format.js 选项。

您确定您的 AJAX 请求确实正在触发吗?也许您的处理程序未附加,并且链接正在发送正常的 HTTP GET?

关于jquery - 新手: What does jQuery. ajaxSetup 'beforeSend' 做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1214548/

相关文章:

javascript - 如何使用 javascript/ajax 或任何其他验证格式验证用户名和密码以及从数据库中选择的角色

javascript - jquery-按钮从一个选择中删除所有选项并添加到另一个选择

ruby-on-rails - 使用 Devise 登录后没有任何反应

javascript - 即使设置了 header ,跨源也会阻止与 Google map 的 AJAX 连接

javascript - Ajax 请求的 URL 中包含奇怪的数据

javascript - 使用 jQuery 动画将图像调整为原始尺寸

javascript - 与 jQuery 在同一页面中的图像旋转器

ruby-on-rails - 是否可以在 Rails 中跨多个数据库进行内部联接?

ruby-on-rails - 检查站点是否已在搜索引擎和目录中列出的代码

asp.net - ServiceReference 一个自托管的 WCF 服务