2016-06-17 99 views
0

我使用bootstrap ON/OFF開關在事件更改時發送http post請求。無論何時開關將其狀態從ON改變爲OFF或OFF改變爲ON,都會觸發http發佈請求。是的,它正在工作。但是,我不知道如何通過http post函數($ .post)傳遞參數。使用http post請求傳遞事件更改的參數

update_state.php文件接受參數「狀態」。例如,update_state.php?state = ON會更改數據庫中狀態字段的值。

我到目前爲止的代碼。

<script type="text/javascript"> 
     $('input[name="onoffswitch"]').on('switchChange.bootstrapSwitch', function(event, state) { 
      console.log(state); // true | false 
      $.post("update_state.php", 
      { 
       state: "state" 
      }, 
      function(data, status){ 
       console.log("Data: " + data + "\nStatus: " + status); 
      }); 
     }); 
</script> 

編輯:

<?php 

require_once("mysqli_connect.php"); 

if (!$database) { 
    echo "Error: Unable to connect to MySQL." . PHP_EOL; 
    exit; 
} 

echo "Success: A proper connection to MySQL was made!" . PHP_EOL; 

$state = $_GET['state']; 

$sql = "UPDATE devices SET state='$state' WHERE id=1"; 

if (mysqli_query($database, $sql)) { 
    echo "Record updated successfully."; 
} else { 
    echo "Error updating record: " . mysqli_error($database); 
} 

mysqli_close($database); 
?> 

回答

3

嘗試:

$('input[name="onoffswitch"]').on('switchChange.bootstrapSwitch', function(event, state) { 
    console.log(state); // true | false 
    $.post("update_state.php", { state: state }) // here { state: state } means {parameter-name: parameter-value} 
     .done(function(data) { 
     alert("Data Loaded: " + data); 
    }); 
}); 
+0

華! 魔法。感謝芽!這很快。我會將其標記爲接受的答案。 – Rager58

+0

有點呃。 $ .post不起作用,$ .get起作用。有任何想法嗎? – Rager58

+0

在$ .post()中的控制檯中的任何erorr? –