javascript - 加载表单而不重新加载页面
问题描述
我在 AJAX 中迈出了第一步,在不重新加载页面的情况下发送表单时遇到了第一个问题。我想做的是“发送朋友请求”,我希望一旦发送了表单数据,“发送请求”按钮就会变为“取消请求”,但即使发送了数据,它也保持不变. “取消请求”也将是一个按钮,它只会以相反的方式执行相同的过程,而不是插入,它会删除。
<?php
if ($estadoA['estado'] == 0){ //IF IN THE DATABASE THERE IS NO RELATIONSHIP BETWEEN USERS
$boton="Send";
} else {
$boton="Cancel";
}
?>
<button id="solicitud" onclick="enviar2('<?php echo $_SESSION['user_id']?>','<?php echo $_GET['id']?>')">
<?php echo $boton;?>
</button>
函数.JS
function enviar2(emisor,receptor){
b=$('#solicitud').html();
if(b=="Send"){
url="../amigos/solicitud-enviada.php";
} else {
url="../amigos/eliminar-solicitud.php";
}
cadena= "emisor=" + emisor + "&receptor=" + receptor;
alert(url);
$.ajax({
type:'POST',
url:url,
data:cadena,
success:function(r){
if (r!=0) {
alert($('#solicitud').html());
if (b=="Send"){
$('#solicitud').html("Cancel");
} else{
$('#solicitud').html("Send");
}
alert($('#solicitud').html());
} else {
alert('error');
}
}
});
return false;
}
如您所见,我根据按钮 id 获得的值重定向 url 但它做错了,假设用户之间没有关系,它应该说“发送”,一旦我点击我就看到了警报,它被重定向到删除而不是在 solicitud-enviada 上,也就是说,它不满足所需的功能,尽管奇怪的是,在没有重新加载页面并再次点击按钮的情况下,它可以正确完成所有操作。这意味着加载页面时的初始值向我发送的按钮 ID 值不正确,如果您能告诉我我做错了,我将不胜感激。
解决方案
推荐阅读
- laravel - 每当弹性 beanstalk 上的新版本发布时,Laravel 用户都会注销
- javascript - 使用 Apps 脚本在两个 Google 表格中突出显示并查找匹配单元格的位置(行和列)
- spring - 春季微软团队会议邀请(推送通知)
- google-api - 更新 Google People API 中的联系人
- autocomplete - 在松弛工作流上自动填充
- javascript - 无法通过以下方式找到元素:[data-testid=“movieList”]
- react-native - (反应原生)如何使用地理定位将地图视图集中在用户身上
- c - 我可以或应该制作布尔位字段吗?
- python - 使目录成为可导入包的最佳做法是什么?
- fortran - 封装静态库中的 C 函数时,flag 找不到 iso_c_bindings