我在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>
FUNCTIONS.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,但是这样做是错误的,假设用户之间没有关系,应该单击“发送”,一旦我单击就可以看到通过警报(重定向到删除而不是处于被请求环境),即,警报无法完成所需的功能,尽管奇怪的是,如果不重新加载页面并再次按下按钮,它将正确执行所有操作。这意味着加载页面时的初始值向我发送了错误的按钮ID值,如果您能告诉我我做错了,我将不胜感激。