Photo.php
文件预计会显示一条消息。
但是当我添加 ?page=2
来解决它时,它不会调用 Photos 函数来打开 Photo.php
文件。
function Photos() {
var opt = <?php echo $_GET['page'];?>
alert(opt);
if(window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("Results").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","Photo.php?page="+opt,true);
xmlhttp.send();
}
function showCat(option){
....
}
<?php
if(isset($_GET['page'])){
echo '<script type="text/javascript">'
,'myPhotos();'
, '</script>';
}
echo 'Results go here';
?>
照片.php
if(isset($_GET["page"])){
echo "photo";
}
最佳答案
xmlhttp.open("GET","Photo.php?page"+opt,true);
我认为你缺少一个=
...
xmlhttp.open("GET","Photo.php?page="+opt,true);
// Here --------------------------^
至少,看起来是这样的。看起来您正在接受 GET
参数,然后调用 Photo.php
并传入一个查询字符串,其中 page
是查询参数。
附注:所有 URL 参数都必须正确编码。所以你也应该在那里使用 encodeURIComponent
:
xmlhttp.open("GET","Photo.php?page="+encodeURIComponent(opt),true);
(从技术上讲,键和值都必须进行 URI 编码,但 "page"
的 URI 编码版本是 "page"
,所以...)
顺便说一句,所有现代浏览器现在都有相当有用的调试工具。例如,在 Chrome 中,您可以打开开发人员工具并查看“网络”选项卡,准确查看您向服务器发送的内容以及服务器发回的内容。对于这类事情非常有用。
关于php - 如何让javascript打开php文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14670920/