私は投票システムをjQuery AJAXでやっています。 div
(投票時)をクリックすると、中間ファイル(この場合はup_vote.php
)にデータが送信され、divが新しいデータで更新されます。これは完全に動作し、結果= 2(変数+ 1)を与えます。投票システムとjQuery AJAX
第2フェーズでは、投票結果を別の部門(別のサイトの#results
)に提示しようとしています。問題は、divを更新しますが、結果が不正確で、2の代わりに1を示します(変数が送信されなかったか、結果を受け取る前にdivがリフレッシュされたように見えます)。
より多くの経験を持つ誰かが私に説明することができます私は
<?php
$id_field = $_POST['id_field'];
echo 'Result=';
echo $id_field + 1;
?>
up_vote.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link type="text/css" rel="stylesheet" href="style.css" />
<script type="text/javascript" src="myjquery.js"></script>
</head>
<body>
<script type="text/javascript">
$(function(){
$(".n_vote").click(function() {
var id_field = $(this).attr("id");
var parent = $(this);
$.ajax({
type: "POST",
url: "up_vote.php",
data: {
id_field: id_field,
name: name
},
cache: false,
success: function(html) {
//Show the results in the same div
parent.html(html);
//Show the results in another div, #results
$("#results").load("up_vote.php");
}
});
return false;
});
});
</script>
<div class="vote_system">
<div class="n_vote" name="up" id="1">Clic here to show the result</div>
</div>
<!-- Correct result=2 -->
______________________________
<br>
Show the result in a another div:
<br>
<div class="results" id="results">
</div>
<!-- Incorrect result=1 -->
</body>
</html>
Index.htmlと
...を誰もが試してみたい場合には、完全なコードを残します2番目のdivに正しい結果が表示されないのはなぜですか?何が起こり、どのように解決するのですか?