1

在我按下提交按钮之后,该变量$pos没有任何值。

<?php
    $pos = $_GET['pos'];
    echo "<br><br>pos = ".$pos; 
?>

<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=us-ascii">
    <title></title>
    <script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js'></script>

    <script type='text/javascript'>

        $(window).load(function(){

            var position = 128;

            $('#submit').click(function(){
                    $.ajax({
                        type:"GET",
                        url: "ajax_test.php",
                        data: { pos : position },
                        success: function(){
                        //do stuff after the AJAX calls successfully completes
                    }
                });
            });
    });
    </script>

</head>

<body>
    <br>
    <button id="submit">Submit</button>
</body>
</html>

FF 中的 Web 控制台显示:

[12:41:55.027] GET http://somehost.com/ajax_test.php?pos=128 [HTTP/1.1 200 OK 187ms] 
4

4 回答 4

3
<?php
   if($_SERVER['REQUEST_METHOD']=='GET' && isset($_GET['ajax'])){
    $pos = $_GET['pos'];
    echo $pos; exit;
    }
?>

<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=us-ascii">
    <title></title>
    <script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js'></script>

    <script type='text/javascript'>

        $(window).load(function(){

            var position = 128;

            $('#submit').click(function(){
                    $.ajax({
                        type:"GET",
                        url: "test.php",
                        data: { pos : position , ajax:1},
                        success: function(response){
                        document.getElementById('response').innerHTML ='pos='+response
                        //do stuff after the AJAX calls successfully completes
                    }
                });
            });
    });
    </script>

</head>

<body>
    <br>
    <div id="response">pos=</div>
    <button id="submit">Submit</button>
</body>
</html>
于 2013-05-17T11:07:05.023 回答
1

您的代码是正确的,您只是没有使用 Ajax GET 请求的结果。

在你的成功函数中试试这个:

success: function(data) {
   alert(data);
}
于 2013-05-17T10:59:23.733 回答
1

我在您的代码中看不到任何错误,除了您从 JavaScript 代码调用 PHP 脚本,并且不对输出做任何事情。echo $pos 输出不在任何地方使用。将此添加到您的脚本中:

success: function(result){
    $('#YourResultDiv').html(result);
}
于 2013-05-17T11:01:34.553 回答
0

您无法从 AJAX 调用中检索您的变量。

Ajax 是异步的,您不能修改已经计算好的 php 代码。

但是您可以使用 jQuery 插入数据,appendTo()例如

于 2013-05-17T11:02:32.527 回答