我有一个在以下链接上运行良好的php文件: http://localhost/results.php?uid=1
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());
$logged_in_user = $_GET['uid'];
$query = "SELECT * FROM oc2_users WHERE id_user = $logged_in_user";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$results = $row['points'];
}
echo $results;
?>
我希望将此文件放在其他页面上,并希望每秒重新加载一次。使用以下脚本:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
function refresh_div() {
jQuery.ajax({
url:'http://localhost/results.php?uid=1',
type:'POST',
success:function(results) {
jQuery(".result").html(results);
}
});
}
t = setInterval(refresh_div,1000);
</script>
当我加载第二页时,它返回:“Undefined index:uid”。 我哪里错了?我怎样才能确保变量也通过?感谢
答案 0 :(得分:1)
你的AJAX请求是通过POST方法,你的PHP接受GET请求 只需要纠正一样。您可以使用Either,但PHP和&amp;请求AJAX应该具有相同的功能。
jQuery部分
$(function () {
$.ajax({
url: "http://localhost/results.php",
data: {uid: 1},
type: "GET",
dataType: 'html',
success: function(data) { console.log(data); }
});
});
PHP部分
<?php
if (isset($_GET['uid']))
{
echo 'This is the UID = ' . $_GET['uid'];
}
?>
答案 1 :(得分:0)
谢谢你所有的驴子。你帮了很多忙。 解决方案:@Kanudo建议但它只适用于POST。您可以在下面找到有效的代码:
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());
$logged_in_user = $_POST["uid"];
$query = "SELECT * FROM oc2_users WHERE id_user = $logged_in_user";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$results = $row['points'];
}
echo $results;
?>
和jQuery:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
function refresh_div() {
jQuery.ajax({
url:'http://localhost/results.php',
type: 'POST',
data: {uid: 1},
success:function(results) {
jQuery(".result").html(results);
}
});
}
t = setInterval(refresh_div,1000);
</script>