首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AJAX不使用Jquery从PHP文件中获取数据

问AJAX不使用Jquery从PHP文件中获取数据
EN

Stack Overflow用户
提问于 2014-12-16 14:01:11
回答 5查看 628关注 0票数 3

我正在尝试将数据发布到PHP文件,但无法从PHP文件接收任何数据。让我加上密码。这是我的jQuery函数:

代码语言:javascript
复制
$(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文件:

代码语言:javascript
复制
<?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文件中拥有的内容:

代码语言:javascript
复制
<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中获取数据

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-12-16 14:12:11

你有一些问题:

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

Stack Overflow用户

发布于 2014-12-16 14:04:04

代码语言:javascript
复制
success: function(){
          $("#someid").html();
      },

应:

代码语言:javascript
复制
success: function(data){
          $("#someid").html(data);
      },
票数 1
EN

Stack Overflow用户

发布于 2014-12-16 14:04:13

您应该在成功中添加参数。

代码语言:javascript
复制
success: function(data){ //Added data parameter
      console.log(data);
      $("#someid").html(data);
  },

数据获取PHP端点中回显的值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27506373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档