AJAX POST请求失败到同一页面(带示例)

时间:2012-01-18 18:28:42

标签: php jquery ajax

####### The name of this file is 'test_ajaxfn.php' #######
<?php
if($_POST['var']) {
    $result = $_POST['var'];
    echo $result.' is successfully passed to the same page using Ajax Post. :)';    
} else {
    echo 'There is no POST variable passed to the same page. :( ';  
}

echo '<br> Above indicates the ajax post function \'.\' ';
?>


<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>


<script>
$(document).ready(function() {
    $('#clickdiv').click(function() {
        var sth = "value to send to PHP";
        $.post(
        'test_ajaxfn.php',
        {"var":"1234567"},
        function(){
            alert('success');
            $('#clickdiv').text('the POST variable should be posted.');
        }
        );

    });
});
</script>

</head>

<body>
<div id="clickdiv" style="width: 50px; height: 50px; background:#CC3300; cursor:pointer;">
</div>
</body>
</html>

描述

我想将POST变量传递到同一页面并使用AJAX加载它。但是,我没有这样做。我无法使用POST方法将“var”传递给$ _POST ['var']。因此我无法显示以下内容:     echo $ result。'使用Ajax Post成功传递到同一页面。 :)';

我做错了什么?

参考

我实际上是想解决这个问题: Calculate Google distance of Input address and all the address from MySQL Server using jQuery ajax.get 现在我简化了我的问题,但它仍然无效。请帮忙:(

1 个答案:

答案 0 :(得分:0)

如果将其发布到同一页面,则服务器会创建一个新进程来处理请求。您没有看到任何输出的原因是因为服务器正在查看文件的帖子,启动实例并执行php脚本,但这与您的php线程不同。将您的脚本更改为此以查看您的成功文本。

<script>
$(document).ready(function() {
    $('#clickdiv').click(function() {
        var sth = "value to send to PHP";
        $.post(
        'test_ajaxfn.php',
        {"var":"1234567"},
        function(result){
            alert(result);
            $('#clickdiv').text('the POST variable should be posted.');
        }
        );

    });
});
</script>