我正在尝试将数据发布到PHP文件,但我无法从PHP文件中接收任何数据.我来添加代码.
这是我的jQuery函数:
$(document).ready(function () {
$(function () {
$('a[class="some-class"]').click(function(){
var somedata = $(this).attr("id");
$.ajax({
url: "foo.PHP",
type: "POST",
data: "id=" + somedata,
success: function(){
$("#someid").html();
},
error:function(){
alert("AJAX request was a failure");
}
});
});
});
});
<?PHP
$data = $_POST['id'];
$con = MysqLi_connect('localhost','root','','somedatabase');
if (!$con) {
die('Could not connect: ' . MysqLi_error($con));
}
MysqLi_select_db($con,"database");
$sql="SELECT * FROM soMetable WHERE id = '".$data."'";
$result = MysqLi_query($con,$sql);
while($row = MysqLi_fetch_array($result)) {
echo $row['info'];
}
MysqLi_close($con);
?>
<p id="someid"></p>
<a href="#page2" class="some-class" id="1">Data1</a>
<a href="#page2" class="some-class" id="2">Data2</a>
注意:此网站是水平滚动,不应刷新.当我点击链接(如Data1)时,它将转到另一个页面而不从PHP文件中获取数据
解决方法:
你有一些问题:
>您没有使用其他答案中提到的数据:success:function(data){
$( “#someid”)HTML(数据);
},
>您没有取消默认点击操作,因此将遵循您的链接:$(‘a [class =“some-class”]’).click(function(e){
e.preventDefault();
…;
>由于id是整数,你可以使用数据:“id =”somedata,尽管如果somedata包含需要转义的字符,发送对象会更安全:data:{“id”:somedata} ,;
>你有一个sql注入问题.您应该将变量强制转换为整数或使用预准备语句:$data =(int)$_POST [‘id’] ;;
>另外在另一个答案中提到,你有两个$(document).ready()函数,一个包装另一个.你只需要一个.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。