如何使用javascript和ajax获取每个单独消息的值
我正在尝试创建一个收藏夹按钮,当单击该按钮时,将在不重新加载的情况下收藏邮件。所有代码都是正确的,只是我很难确定如何将每条消息的单个ID发送到ajax响应 我的ajax:如何使用javascript和ajax获取每个单独消息的值,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在尝试创建一个收藏夹按钮,当单击该按钮时,将在不重新加载的情况下收藏邮件。所有代码都是正确的,只是我很难确定如何将每条消息的单个ID发送到ajax响应 我的ajax: $(document).on('submit', '.favourite-form', function(e) { e.preventDefault(); var data = $(this).serialize(); $.ajax({ data: data, type: "
$(document).on('submit', '.favourite-form', function(e) {
e.preventDefault();
var data = $(this).serialize();
$.ajax({
data: data,
type: "post",
url: "favorite.php?message=529", // here i put 529 as an example,
i need it to be a variable that changes based on which message has been clicked.
success: function(data) {
alert("Data Save: " + data);
},
error: function(jqXHR, textStatus, errorThrown) //gracefully handle any errors in the UI
{
alert("An ajax error occurred: " + textStatus + " : " + errorThrown);
}
});
});
我的HTML
<form class="favourite-form" method="post">
<a class="msg-icon " href="<?php echo "reply?message=" . $row['msgid'] . ""; ?>"></a>
<button type="submit" name="fav" value="<?php echo $row['msgid'] ?>" ></button>
</form>
如何通过ajax以这种方式发送每个消息id。您可以执行以下操作:
$(document).on('submit', '.favourite-form', function(e) {
e.preventDefault();
var data = $(this).serialize();
// Here, you will get the individual id before submiting the form
var mssg_id = $(this).find('button[name="fav"]').val();
$.ajax({
data: data,
type: "post",
url: `favorite.php?message=${mssg_id}`, // It will be added to the url ES6 method
success: function(data) {
alert("Data Save: " + data);
},
error: function(jqXHR, textStatus, errorThrown)
{
alert("An ajax error occurred: " + textStatus + " : " + errorThrown);
}
});
});
编辑
你可以做:
$(document).on('submit', '.favourite-form', function(e) {
e.preventDefault();
var data = $(this).serialize();
// Here, you will get the individual id before submiting the form
var mssg_id = $(this).find('button[name="fav"]').val();
$.ajax({
data: data,
type: "post",
url: `favorite.php?message=${mssg_id}`, // It will be added to the url ES6 method
success: function(data) {
alert("Data Save: " + data);
},
error: function(jqXHR, textStatus, errorThrown)
{
alert("An ajax error occurred: " + textStatus + " : " + errorThrown);
}
});
});
编辑
我要做的只是以视图的形式添加一个隐藏的输入,请尝试以下操作:
<input type="hidden" name="msgid" value="<?php echo $row['msgid' ?>" />
我要做的只是以视图的形式添加一个隐藏的输入,请尝试以下操作:
<input type="hidden" name="msgid" value="<?php echo $row['msgid' ?>" />
这与答案非常接近,但您编写url的方式会导致错误,传递的值是{mssg_id},而且它仍然找不到按钮的值。我已编辑。Plz检查我尝试过,但仍然得到未定义的值。你的方法似乎是正确的,但它仍然没有得到按钮的值@现在可以工作了,非常感谢你,你帮我解决了这个问题!!!我改变了,但没有改变,它工作了,现在只发生了一个问题,对于我的消息的第一个实例,该值未定义,但是对于其他消息,所有都工作正常。查找我的附加图像这与答案非常接近,但是您编写url的方式导致了错误,传递的值是{mssg_id},而且它仍然没有找到按钮的值。我已编辑。Plz检查我尝试过,但仍然得到未定义的值。你的方法似乎是正确的,但它仍然没有得到按钮的值@现在可以工作了,非常感谢你,你帮我解决了这个问题!!!我改变了,但没有改变,它工作了,现在只发生了一个问题,对于我的消息的第一个实例,该值未定义,但是对于其他消息,所有都工作正常。找到我的附加图像