2014-01-21 97 views
0

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

<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> 
+4

检查浏览器开发工具的javascript控制台和网络选项卡是否有错误。 –

+2

你有jquery包括,对不对? :p – Timmy

+0

要备份@ Oleg的答案,在您的页面中包含此脚本的位置,特别是关于您的链接/按钮元素? – Phil

回答

5

看来你的JS代码是你的按钮HTML代码以前,这样的结合是行不通的。把你的JS <a>...</a>后,或镜框回调:

<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> 
+0

呃,我觉得很傻!非常感谢你,它工作。 – bloodless2010