jQuery ajaxSetup方法不适用于$ .get或$ .post吗?

时间:2010-03-30 04:55:39

标签: javascript jquery ajax

在调用$.ajaxSetupdata时,jQuery $.post方法是否不尊重选项哈希中的$.get字段?

例如,我可能有这段代码:

$.ajaxSetup({ data: { persist: true } });

然后,要发送POST请求,我会这样称呼:

$.post("/create/something", { name: "foo" });

我希望实际的POST数据看起来像这样:

{
  persist: true,
  name: "foo"
}

$.post发送的唯一数据是{ name: "foo" }。有没有办法获得预期的行为?我正在使用jQuery 1.4.1。

2 个答案:

答案 0 :(得分:6)

$.ajaxSetup()为您的ajax请求设置默认值。您在请求方法中设置的任何选项都将覆盖这些默认值,而不是合并它们。你实际上是在重写

{ persist: true }

{ name: "foo" }

<小时/> 这似乎不再是这种情况 - a ticket on the jQuery tracker表明这是在版本更新中添加的,jQuery现在合并对象而不是替换默认值(感谢@Quincy)。

答案 1 :(得分:0)

由于documentation表示data选项已转换为查询字符串并附加到GET请求的网址。

相关问题