2014-01-21 126 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