$(document).ready(function() { $("-6ren">
gpt4 book ai didi

javascript - 如何从带有 2 个按钮的表单单击按钮发送 Ajax 请求?

转载 作者:IT王子 更新时间:2023-10-28 23:56:55 27 4
gpt4 key购买 nike

我想从一个有 2 个按钮的表单向另一个页面发送请求:

<form method="post">
<button id="button_1" value="val_1" name="but1">button 1</button>
<button id="button_2" value="val_2" name="but2">button 2</button>
<input id="access_token" type="hidden" name="access_token" value="<?php echo $_SESSION['access_token']; ?>" />
</form>
$(document).ready(function() {
$("#button_1").click(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "/pages/test/",
data: {
id: $("#button_1").val(),
access_token: $("#access_token").val()
},
success: function(result) {
alert('ok');
},
error: function(result) {
alert('error');
}
});
});

$("#button_2").click(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "/pages/test/",
data: {
id: $("#button_2").val(),
access_token: $("#access_token").val()
},
success: function(result) {
alert('ok');
},
error: function(result) {
alert('error');
}
});
});
});

如何改进此代码并将其合并到一个函数中?

最佳答案

鉴于处理程序之间唯一的逻辑区别是单击按钮的值,您可以使用 this 关键字来引用引发事件的元素并获取 val( ) 。试试这个:

$("button").click(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "/pages/test/",
data: {
id: $(this).val(), // < note use of 'this' here
access_token: $("#access_token").val()
},
success: function(result) {
alert('ok');
},
error: function(result) {
alert('error');
}
});
});

关于javascript - 如何从带有 2 个按钮的表单单击按钮发送 Ajax 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35203019/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com