【发布时间】:2019-01-14 17:44:16
【问题描述】:
考虑下面拦截表单提交事件的代码,在这种情况下来自两个不同的表单。
$("#aaa, #bbb").submit(function(e) {
e.preventDefault();
var form = $(this);
var url = form.attr('action');
$.ajax({
type: "GET",
url: url,
data: form.serialize(),
success: function(data) {
$("#ccc").html(data);
}
});
});
问题 - 如果#aaa 需要GET,但#bbb 需要POST,我可以检测并更改上述代码中的type 参数吗?怎么样?
我幼稚的解决方案是将上述代码复制两次,一次仅用于#aaa,另一次用于#bbb,并在一个块中使用 GET,在另一个块中使用 POST ..
【问题讨论】:
-
e.target.id将是aaa或bbb -
所以请阅读您在表单上设置的方法。
-
不过,如果你把 GET 放在 aaa 表单上,把 POST 放在 bbb 表单上,那么它可能就像抓取表单方法一样简单
-
我认为
e.target.method是我要找的东西 -
form.attr("method")也可以。
标签: javascript jquery ajax post get