我想通过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