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

标签 javascript php jquery mysql ajax

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

相关文章:

php - MySQL转PDO(具体实例)

javascript - 在 window.open() 中执行 POST

javascript - 一个 svg 中包含多个 d3 图形

javascript - 如何正确给d3饼图添加标签?

php - 使用 Doctrine 将大量数据插入 MongoDB 集合

javascript - jQuery fadeIn() 没有给出我想要的结果

javascript - 响应式菜单 : on hover submenu shows error

javascript - 我应该在哪里调用 React Redux Meteor.js 混合物中的订阅

javascript - 如何在发布到服务器之前正确地将文件附加到 formData?

php - 如何加入产品和产品变体以获得带有产品名称的每个变体