php - 如何让javascript打开php文件?

标签 php javascript ajax

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/

相关文章:

php - 从数据库中获取下一个最高值和下一个最低值

javascript - 如何在诺基亚 map 的簇标记中添加地理位置标记并进行缩放?

JavaScript 通过指定表单和类名来更改输入值

javascript - 类型错误 : Failed to execute 'appendBuffer' on 'SourceBuffer' : No function was found that matched the signature provided

javascript - 使用 ajax 和 PHP 根据第一个选择框填充第二个选择框

php - 读取逗号分隔的数据列,并使用结果显示不同表中的行

php - 使用 PHP 变量作为表单字段的默认值

php - FOSUserBundle 模板覆盖不适用于 Symfony Flex

javascript - 嵌套 jQuery Ajax - 将第一个 ajax 响应全局变量数据传递到第二个 ajax 中进行处理

ajax - asp.net MVC 3中的简单Ajax,更新模型并重新渲染部分