简体   繁体   中英

AJAX xmlhttp.send() not working

I'm a complete and utter AJAX noob and have been sitting with the same problem for the last 5 hours.

My script code

 <script language='javascript'> function upvote(id ,username) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { } }; xmlhttp.open("GET", "vote.php?id=" +id+"&username=" +username, true); xmlhttp.send(); } </script> 

My onclick link,

 <a href='javascript:void(0)' onclick='upvote($id,$username)'></a> 

$_GET is used to retrieve parameters sent via the URL of the page. For example

../vote.php?id=3&username=anor

My php file works perfect when i tried that.

I don't think there's anything wrong with the PHP anyway. For some reason however, xmlhttp.send(params) is still not sending the required variables to the vote.php file. I tried post AJAX request but it didn't work either.

edit them If php file

$id = '1';
$username = 'suman';

echo '<a href="javascript:void(0)" onclick="upvote(\''$id'\',\''$username'\')"></a>';
?>

If this is part of your PHP code

onclick='upvote($id, $username)'

it won't work. It should be

onclick='upvote($id, "$username")'

instead. Let's see the example that you posted: $id=3 and $username=anor. This would result in

onclick='upvote(3, anor)'

As long as there is no Javascript variable with the name anor , this would be equivalent to

onclick='upvote(3, undefined)'

Do you get that?

PS: The upvote function itself seems to be fine

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM