我有这段代码:
$.ajax({
type: "POST",
data: JSON.stringify(formData),
dataType: "json",
url: "http://www.test.com/users/" + get_back + "",
success: function(t){
alert(t);
}
});
我想知道如何POST到多个链接?我是否必须创建另一个$.ajax POST
或者我可以在同一个POST中添加更多url
个字段吗?
由于
答案 0 :(得分:3)
您必须多次执行此操作,每个网址对应您要发送到的每个网址。但有捷径:
var urls = ["http://www.test.com/users/", "http://www.example.com/users/", "http://www.test.org/users/"]
$.each(urls, function(index, value) {
$.ajax({
type: "POST",
data: JSON.stringify(formData),
dataType: "json",
url: value + get_back + "",
success: function(t){ alert(t); }
});
});
我们将您想要POST的所有URL放在JavaScript数组中,然后使用jQuery's $.each遍历它们并为每个URL执行AJAX POST。
答案 1 :(得分:1)
您无法添加其他模式字段。 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'
});
这允许您设置合理的默认值。基本思想可以用于各种目的。
答案 2 :(得分:0)
您必须为每个网址单独调用,尝试使用$ .each多次调用相同的代码。