我有一个数据表,我想从一个单击的单元格中取出文本并将其用作PHP中的变量,以便我使用该变量来查询mysql。我的代码到目前为止:
<script type="text/javascript">
$(document).ready( function () {
$('#priority tbody').on('click', 'tr', function() {
var celldat = $(this).find('td:first').text(); //gets the text from the first column when a row is clicked.
$.ajax({
url: 'prioritize.php', //my url
method: "POST",
async: 'false',
data: {variable:celldat},
success: function(data) {
alert(celldat); //The alert is perfect. It returns the text from the first column.
window.location.reload(true);
}
})
});
});
</script>
在我的PHP中,我试图回应相同的值:
<?php
$selected=$_POST['variable'];
echo $selected;
?>
但它不起作用。基本上我想在mysql select查询中使用$selected
来填充另一个表。
答案 0 :(得分:0)
:尝试这样做:"data: {variable:"+celldat"}"
尝试执行此操作$_POST['data']
这将为您提供从ajax请求发送的所有数据
答案 1 :(得分:0)
在评论之后,您需要修改您的jQuery
success: function(data){ alert(celldat); }
到
success: function(html){ alert(html); }
PHP方
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
$selected = $_POST['variable'];
echo"$selected";
?>
您需要对响应执行某些操作,因为在成功时,您首先使用您显示的代码,您只需将页面发送给自己:更新div或表格单元格... Ajax允许您使用从PHP发回的数据而不刷新,为什么要重新加载呢?
使用PHP响应来更新div的示例:
success: function(html){ // 'html' is PHP response
$("#responsediv").html(''+html+''); // update a div with ID 'responsediv'
// as ID have to be unique, it makes sure you have the proper data in the correct div
},
error: function (request, status, error) { // handle error
alert(request.responseText);
}