如何将PHP url变量传递给AJAX?

时间:2012-12-21 05:04:31

标签: php ajax jquery

我如何将PHP URL变量传递给AJAX,以便我可以在同一页面中加载页面内容?这是我想要做的一个例子。我试图让“profile.php?id =到AJAX,以便加载页面内容..但是,我首先开始使用循环..我不知道这是不是正确的方法..

以下是代码

<div id="myDiv"><h2>Let AJAX change this text</h2></div>


<?php
require('../madscore/database/connect.php');
database_connect();
$query = "select * from Entertainers";
$result = $connection->query($query);
$row_count =$result->num_rows;

for($i = 1; $i <= $row_count; $i++)
  {
   $row = $result->fetch_assoc();
    //echo $i. "<br />";
   // echo $row['Name']."<br />";
   // echo $row['Profession']."<br />";
   // echo $row['Score']."<br />";

?>

<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","profile.php?id="<?php echo $row['ID'] ?>, true");
xmlhttp.send();
}
</script>




<?php  echo "<a href='/profile.php?id=".$row['ID']."' onclick='loadXMLDoc()'><img src ='../".$row['Picture']."' width='100' height='100' /> </a>"; } ?>

</body>
</html>

2 个答案:

答案 0 :(得分:0)

改变这个 -

xmlhttp.open("GET","profile.php?id="<?php echo $row['ID'] ?>, true");

对此 -

xmlhttp.open("GET","profile.php?id=<?php echo $row['ID'] ?>", true);

根据评论编辑 - 试试这个 -

myid = <?php echo $row['ID'] ?>; 

//myid = "<?php echo $row['ID'] ?>";  //Or this if its a string type 


xmlhttp.open("GET","profile.php?id="+myid, true);

经过这么长时间的聊天 -

<?php  echo "<a href='/profile.php?id=".$row['ID']."' onclick='loadXMLDoc(".$row['ID'].")'><img src ='../".$row['Picture']."' width='100' height='100' /> </a>"; } ?>

$row['ID']传递给loadXMLDoc()方法。

最终守则---

<div id="myDiv"><h2>Let AJAX change this text</h2></div>


<?php
require('../madscore/database/connect.php');
database_connect();
$query = "select * from Entertainers";
$result = $connection->query($query);
$row_count =$result->num_rows;

for($i = 1; $i <= $row_count; $i++)
  {
   $row = $result->fetch_assoc();      
?>

<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc( myid )
{
var xmlhttp;
var myloveid = id;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","profile.php?id="+myloveid, true");
xmlhttp.send();
}
</script>




<?php  echo "<a href='/profile.php?id=".$row['ID']."' onclick='loadXMLDoc(".$row['ID'].")'><img src ='../".$row['Picture']."' width='100' height='100' /> </a>"; } ?>

</body>
</html>

答案 1 :(得分:0)

替换此

xmlhttp.open("GET","profile.php?id="<?php echo $row['ID'] ?>, true");

用这个

xmlhttp.open("GET","profile.php?id=<?php echo $row['ID']; ?>, true");

;非常重要 如果你不写它,它就不会回显价值。