AJAX不会发送POST数据

时间:2014-01-21 22:09:42

标签: javascript php jquery html ajax

我目前正在开发一个需要一些AJAX的项目,但由于某些原因,我当前的代码不会发送POST数据。 这是我的AJAX:

<script>
$('#greenon').click(function(){

    $.ajax({
            type: 'POST',
            url: 'command.php', 
            data : { "green" : "on" },
            success: function(data, textStatus, jqXHR) {
                    alert("it worked!");
            },
            error: function(jqXHR, textStatus, errorThrown) {
                    alert("didn't work!");
            }
    });

    return false;
});
</script>

它甚至没有发送'没有工作'的提醒。我在command.php中使用它(如果访问了command.php,它将写入文件,

<?php
$content = "bleh";
$fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/file.txt","wb");
fwrite($fp,$content);
fclose($fp);
?>

为什么不发送POST数据?谢谢!

哦,这是我的按钮HTML:

<a class="btn btn-success" role="button" id="greenon">Turn On</a>

1 个答案:

答案 0 :(得分:5)

您的JS代码似乎之前您的按钮HTML代码,因此绑定不起作用。将您的JS 放在 <a>...</a>之后,或将其与$(document).ready()回调框架对象:

<script>
    $(document).ready(function() {
    $('#greenon').click(function(){

    $.ajax({
            type: 'POST',
            url: 'command.php', 
            data : { "green" : "on" },
            success: function(data, textStatus, jqXHR) {
                    alert("it worked!");
            },
            error: function(jqXHR, textStatus, errorThrown) {
                    alert("didn't work!");
            }
    });

    return false;
});
});
</script>