首页 > 解决方案 > 在 AJAX 中从当前 URL 发布 id 以从该 id 中选择数据

问题描述

我正在尝试将 id 从当前 URL 发送到select.php页面,但它显示 id 未定义并且无法获取任何数据。我想从 SQL 表中获取索引 suporder 以显示用于获取的 suporder id 的数据。

     <script>  
        $(document).ready(function(){  
            function fetch_data()
            {
                $.ajax({
                    type:'post',
                    url:"select.php" + id ,
                    method:"POST",
                    dataType:"json",
                    success:function(data)

用于从 AJAX 查询中获取数据的 (select.php) 文件。

但这无法从 URL 中获取 id。

     <?php
       $connect = new PDO("mysql:host=localhost;dbname=mta_bd", "root", "");
        $query = 'SELECT * FROM all_stores where suporder='.$_GET['id'];
        $statement = $connect->prepare($query);
        if($statement->execute())
        {
         while($row = $statement->fetch(PDO::FETCH_ASSOC)){
          $data[] = $row;
         }
            echo json_encode($data);
        }
        ?>

用于从索引中获取的 SQL db 作为 id 的上级

像这样从上一个 URL 获取 id

echo '<td align="right"> 
      <a type="button" class="btn btn-primary bg-gradient-primary" href="issue.php?id='.$row['suporder'] . '"><i class="fas fa-fw fa-list-alt"></i> Enter Data</a>

在 url:"select.php?id=" + id, 行更改为控制台错误后出现错误消息:
行 url 的控制台错误:

   
            url:"select.php?id=" + id,
            method:"POST",
            dataType:"json",
        
            success:function(data)

图片在这里:
图片在这里

显示页面的图像:
显示页面的图像

标签: javascriptphpjquerysqlajax

解决方案


您可以轻松地从当前 url 检索 id,URLSearchParams()然后使用它为 ajax 创建数据对象

const params = new URLSearchParams(location.search);
const data ={ id: params.get('id')}

$.getJSON('select.php', data, function(response){
   // do stuff with response
})

推荐阅读