gpt4 book ai didi

javascript - AJAX 不使用 Jquery 从 PHP 文件获取数据

转载 作者:可可西里 更新时间:2023-11-01 07:58:44 25 4
gpt4 key购买 nike

我正在尝试将数据发布到 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 文件:

<?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);

?>

这是我在 HTML 文件中的内容:

<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 文件获取数据

最佳答案

你有几个问题:

  1. 您没有使用其他答案中提到的数据:
    成功:函数(数据){
    $("#someid").html(数据);
    },
  2. 您没有取消默认的点击操作,因此您的链接将被访问:
    $('a[class="some-class"]').click(function(e){
    e.preventDefault();
    ...
    ;
  3. 由于 id 是整数,您可以使用 data: "id="+ somedata, 尽管发送对象更安全,以防 somedata 包含需要的字符转义:
    data: {"id": somedata},;
  4. 你有一个sql注入(inject)问题。您应该将变量转换为整数或使用准备好的语句:
    $data = (int) $_POST['id'];;
  5. 正如另一个答案中提到的,您有两个 $(document).ready() 函数,一个包装另一个。你只需要一个。

关于javascript - AJAX 不使用 Jquery 从 PHP 文件获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27506373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com