我目前正在开发一个需要一些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>
答案 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>