当前位置: 首页 > 面试题库 >

$ .ajax忽略DELETE请求的数据参数

谭志用
2023-03-14
问题内容

我刚刚从jQuery 1.3.2更新到1.4.3,并且在发出AJAX
DELETE请求时看到了一些新行为。由于某种原因,在我的data参数中传递的数据没有发送到服务器。例如:

$.ajax({
    url: '/example',
    data: {id: 12},
    type: 'DELETE'
});

最终向发送了DELETE请求/example,没有其他数据。但是,这种类型的调用可以很好地传递参数:

$.ajax({
    url: '/example?id=12',
    type: 'DELETE'
});

有没有其他人看到过类似的行为?有没有理由不再起作用(即:是设计使然,还是错误)?关于如何使其运作的任何建议?

此外,如果有人想知道为什么我不只是想将参数作为URL字符串的一部分传递,那是因为我最终试图使用$.ajaxSetup回调,在那里提供一些常规参数(即authenticity_token用于防止在Rails中进行伪造)。在尝试jQuery
1.4.3之前,所有这些工作都很好。


问题答案:

jQuery
仅将参数附加到查询字符串(GET仅用于DELETE请求)(而无正文用于request),因此这是jQuery
1.4.3中的故意行为。

但是,此后发生了更改(此处提交),以允许正文DELETE在1.4.4版本中进行请求。



 类似资料:
  • 问题内容: 我有一个使用Spring Security的Web应用程序。它使用元素描述不同URL的访问过滤器。默认情况下,这不考虑url的请求参数。我需要根据请求参数设置URL的自定义安全规则。所以我做了以下工作: 1)我创建了一个bean后处理器类,它将为spring安全机制启用request parameters选项: 和代码: 这应该设置弹簧安全性元数据源以考虑请求参数。我已经调试了上面的代

  • Spring Boot 2.0.1.RELEASE项目包含Spring Data JPA和Spring Data REST。似乎忽略了RESTendpoint中的<code>sort</code>参数(但在单元测试中使用相同的存储库方法)。存储库如下: } 实体(已编辑)如下: 当我尝试使用导出的RESTendpoint调用它时,例如: http://localhost:8080/api/v1/o

  • 问题内容: Rails似乎忽略了AJAX请求的真实性令牌。例如,我故意更改了AJAX调用以使用无效的令牌对其进行测试,并且请求似乎正常进行。 该应用程序具有使用会话cookie存储的默认配置,并在ApplicationController中具有了protect_from_forgery调用。 有什么想法我可能会错过的吗? 问题答案: 编辑>>我也在博客文章中发布了此答案:http: //zadas

  • Ajax 是一种不需要刷新页面就可以与服务器交换数据的方法。 关于 Ajax 相关的知识请参考 jQuery-Ajax、jQuery-AJAX - W3School 及 Ajax 教程 一、jQuery 中 Ajax 相关的函数 在 jQuery 中,有三种 Ajax 相关的方法,分别是:ajax、get、post。 1、jQuery.ajax 统一的发送 Ajax 请求函数,简单的使用示例如下:

  • 如果没有声明相应的值,是否有可能动态忽略一些可选的参数?

  • 我试图爬过craiglist的论坛类别。组织机构(https://forums.craigslist.org/).我的蜘蛛: 我通过错误回调收到以下消息: [失败实例:Traceback:: /usr/local/lib/python2.7/site-packages/twisted/internet/defer.py: 455:回调 /usr/local/lib/python2.7/site-p