Javascript 我们可以使用单个表单标记的操作发送两个post请求吗?
我想在两个不同的API上发送表单的数据。有什么可能的解决方法吗?正如Robin所说,编写一个事件处理程序,在提交时发送两个api请求Javascript 我们可以使用单个表单标记的操作发送两个post请求吗?,javascript,html,Javascript,Html,我想在两个不同的API上发送表单的数据。有什么可能的解决方法吗?正如Robin所说,编写一个事件处理程序,在提交时发送两个api请求 <html> <head> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script> $(function () { $('form').on('submit', fun
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function () {
$('form').on('submit', function (e) {
e.preventDefault();
$.ajax({
type: 'post',
url: 'firstAPIUrl',
data: $('form').serialize(),
success: function () {
alert('first api was submitted');
}
});
$.ajax({
type: 'post',
url: 'secondAPIurl',
data: $('form').serialize(),
success: function () {
alert('second api submitted');
}
});
});
});
</script>
</head>
<body>
<form>
<input name="time" value="value">
<input name="date" value="value">
<input name="submit" type="submit" value="Submit">
</form>
</body>
</html>
$(函数(){
$('form')。关于('submit',函数(e){
e、 预防默认值();
$.ajax({
键入:“post”,
url:'firstAPIUrl',
数据:$('form')。序列化(),
成功:函数(){
警报(“提交了第一个api”);
}
});
$.ajax({
键入:“post”,
url:'secondAPIurl',
数据:$('form')。序列化(),
成功:函数(){
警报(“第二个api已提交”);
}
});
});
});
如果在第一个ajax完成后再使用第二个ajax会更好,如:
<script>
$(function () {
$('form').on('submit', function (e) {
e.preventDefault();
$.ajax({
type: 'post',
url: 'firstAPIUrl',
data: $('form').serialize(),
success: function () {
alert('first api was submitted');
$.ajax({
type: 'post',
url: 'secondAPIurl',
data: $('form').serialize(),
success: function () {
alert('second api submitted');
}
});
}
});
});
});
</script>
$(函数(){
$('form')。关于('submit',函数(e){
e、 预防默认值();
$.ajax({
键入:“post”,
url:'firstAPIUrl',
数据:$('form')。序列化(),
成功:函数(){
警报(“提交了第一个api”);
$.ajax({
键入:“post”,
url:'secondAPIurl',
数据:$('form')。序列化(),
成功:函数(){
警报(“第二个api已提交”);
}
});
}
});
});
});
不明白为什么不。只需在表单的submit
事件中添加一个事件侦听器,在该事件中,您可以阻止默认操作并发出两个单独的Ajax“POST”请求,每个API一个。(我从未尝试过这个,所以我不打算给出答案,但我不明白为什么它不起作用。)你的问题标题的简单答案是:“我们可以使用单个表单标记的操作发送两个post请求吗?”是不-你不能在
上放置两个操作-当然,正如Robin和Garuuk所说,您可以将自己的JS处理程序附加到表单提交中,并在表单提交中执行任何操作。为什么这样更好?它们可以并行完成,我看不出有什么好的理由来序列化调用。这样,我可以在脚本中使用,并将您的提交放入队列,这样您就不会丢失提交,并且每次创建1个会话,而不是2个会话