[英]This javascript function works fine when i click it one, but does not work when i click it twice
我正在做一个小项目,其中包括将用户添加为朋友。 因此,我创建了一个ajax程序,用于显示用户友谊的状态(即,他是否是另一个用户的朋友),如果您不是朋友,则可以立即添加他。 所以我做了一个小按钮来执行我之前提到的功能。 只要我单击一次按钮,它就可以正常工作,但是当我两次单击按钮时,它不起作用。 你们可以帮我吗?
function addFriend(user) {
userName = user.getAttribute('data-username') ;
xmlHttp.open("GET",'addFriend.php?user=' + userName,true) ;
xmlHttp.send() ;
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
serverResponse = xmlHttp.responseText ;
alert(serverResponse) ;
if(serverResponse = 'FriendHasBeenDeleted') {
user.innerHTML = 'Not your amigo' ;
user.className = 'FriendsONno' ;
}
if(serverResponse = 'Added') {
user.innerHTML = 'Your Amigo' ;
user.className = 'FriendsONyes' ;
}
}
else {
}
}
}
php文件可以正常工作并回显两件事。 一个是“ FriendHasBeenDeleted”,另一个是“添加”,但是,当两次单击按钮时,javascript文件无法执行任何操作
您正在分配,而不是进行比较
if(serverResponse = 'FriendHasBeenDeleted')
if(serverResponse = 'Added') {
需要是
if(serverResponse === 'FriendHasBeenDeleted')
if(serverResponse === 'Added') {
现在另一个问题是GET请求缓存。 因此,当您第一次向服务器发送请求时,它会返回一个值。 当您再次请求它时,它只会重用该值。 由于您实际上是在更新数据库,因此最好使用POST请求。 发布请求不缓存。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.