您不能添加其他模式字段。 JavaScript对象文字(例如{foo:'bar'}
)对于每个键只能有一个值。浏览器倾向于将{url:'http://example.com', url:'http://example.com/page2'}
解释为{url:'http://example.com/page2'}
。
jQuery的ajax功能只发送一个单一的ajax请求。下面的代码将让你创建一个默认请求对象,并覆盖其成员,你认为合适:
function createAjaxer(o) {
var defaults = $.extend({}, o);
return {
send: function(o2) {
var instance = {};
$.extend(instance, defaults, o2);
$.ajax(instance);
}
}
}
可以按如下方式使用它:
var a = createAjaxer({
type: 'post',
dataType: 'json',
success: function() { console.log(arguments); }
});
a.send({
data: 'yar=5',
url: 'http://stackoverflow.com'
});
a.send({
url: 'http://stackoverflow.com'
});
这允许您设置合理的默认值。基本的想法是可重复使用的各种目的。
工作。谢谢。如果我想动态更改'data:'属性呢? – Patrioticcow 2011-04-11 23:30:23
我的答案将允许您选择任何您喜欢的默认设置,并根据需要覆盖它们。 :) – theazureshadow 2011-04-11 23:47:29
很高兴我能帮上忙。你可以构建一个JSON对象数组,每个对象都有一个data和一个url属性并遍历这些对象。 – Adam 2011-04-12 00:19:39