日期:2014-05-17  浏览次数:20531 次

AJAX传递参数,PHP无法获取
AJAX代码如下:
JScript code

type:'POST',
url:'../php/a.php?ID='+'abc',
success: function(data)
{
    alert(data);
}


PHP代码如下:
PHP code

echo $_GET['ID'];


为什么js文件能弹出显示‘abc'的对话框,PHP页面却什么也没有呢?

------解决方案--------------------
什么“什么也没有”? 你怎么访问的。url上带ID了吗?
------解决方案--------------------
不可能。既然ajax都能获取到。说明php返回了值。/a.php?ID=33 是这样访问的吗?
------解决方案--------------------

ajax.html
HTML code

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="gb2312" />
        <title></title>    
        <script src="http://code.jquery.com/jquery-latest.js"></script>
        <style>
        
        </style>
    </head>
    <body>
        
        <script>
            $.ajax({
                type:'POST',
                url:'index.php?ID='+'abc',
                success: function(data)
                {
                    alert(data);
                }
            })
        </script>
    </body>
</html>

------解决方案--------------------
楼主确定你php能跑起来?
------解决方案--------------------
要不楼主试着给GET参数加个随机数,是不是被浏览器缓存了.
------解决方案--------------------
噢噢,是POST上去的GET参数,不是缓存问题.
------解决方案--------------------
探讨

引用:

不可能。既然ajax都能获取到。说明php返回了值。/a.php?ID=33 是这样访问的吗?

更奇怪的是,如果a.php上用的是var_dump($_GET['ID']);的话,js弹出的对话框中就会显示一个pre标签,ID的值就在这个pre标签里。

------解决方案--------------------
估计是ie浏览器的缓存问题,修改js代码后,要清一下浏览器缓存
------解决方案--------------------
你确定在你跳转到PHP页面时,参数已经穿过来了吗?