我想通過ajax發送一個輸入值到php,但我似乎無法得到這個權利。我試圖根據用戶輸入創建一個數據表。通過ajax發送變量到php
這是我的代碼:
<input class="form-control" id="id1" type="text" name="id1">
我的javascript代碼:
<script type="text/javascript">
$(document).ready(function() {
var oTable = $('#jsontable').dataTable(); //Initialize the datatable
$('#load').on('click',function(){
var user = $(this).attr('id');
if(user != '')
{
$.ajax({
url: 'response.php?method=fetchdata',
data: {url: $('#id1').val()},
dataType: 'json',
success: function(s){
console.log(s);
oTable.fnClearTable();
for(var i = 0; i < s.length; i++) {
oTable.fnAddData([
s[i][0],
s[i][1],
s[i][2],
s[i][3],
s[i][4],
s[i][5],
s[i][6],
s[i][7]
]);
} // End For
},
error: function(e){
console.log(e.responseText);
}
});
}
});
});
</script>
我的PHP腳本:
<?php
$conn = pg_connect(...);
$id1 = $_POST["id1"];
$result = pg_query_params($conn, 'SELECT * FROM t WHERE id1 = $1 LIMIT 20', array($id1));
while($fetch = pg_fetch_row($result)) {
$output[] = array ($fetch[0],$fetch[1],$fetch[2],$fetch[3],$fetch[4],$fetch[5],$fetch[6],$fetch[7]);
}
echo json_encode($output);
?>
我不知道很多JS但我的PHP是正確的,我測試它。所以我想這個問題是在JavaScript代碼中。 問題是,我的數據表不是基於用戶輸入創建的。 謝謝!
您還沒有提到究竟是不是工作,而是你是不是發送POST請求,你需要有'類型:「後」'爲此,你正在發送你的數據名爲'url'而不是'id1' –
請給我們更多關於「它不起作用」的細節。順便說一句,您不要在Ajax調用中設置「方法」。默認數據發送到$ _GET而不是$ _POST。 [看到JQuery文檔](http://api.jquery.com/jquery.ajax/) – Debflav
...大概你是包括* jQuery *腳本,因爲'$(document).ready('(etc)isn 't技術上的JavaScript?讓我們明顯的方式... – CD001