为了账号安全,请及时绑定邮箱和手机立即绑定

如何从url获取值到js?

如何从url获取值到js?

PHP
一只萌萌小番薯 2023-09-15 09:49:07
我很难找到解决方案,如何从我的网站链接请求的对象中获取值。问题是,我在 PHP 中创建了一种方法,用于从数据库中获取一个对象的值的数据,我必须在模式窗口中解析该数据,这样我就不必刷新页面来获取有关我的产品的详细信息。这是 PHP 代码,用于获取完美运行的详细信息,并且我的 URL 返回带有值的 $data 对象。控制器.php     public function orderinfo($id){              $orderInfo = $this->adminsModel->getOrderInfo($id);              $data=['orderInfo'=>$orderInfo];              $this->view('admin/orderinfo',$data);          }以及 php 的模型函数:        public function getOrderInfo($id){             $this->db->query("SELECT * FROM ORDERS WHERE id ='$id'");            $row = $this->db->single();            return $row;        }事实是,我很容易学会了如何在数据库中具有 id 的对象的 javascript 中获取 id。这是获取 id 的代码,我了解它是如何工作的:HTML:<a class="fa fa-file-audio-o edu-back-restart" href="#" data-toggle="modal" data-target="#InformationproModalftblack" id="<?php echo $activeOrders->id; ?>" onclick="showDetails(this)">INFO</a>无效代码:/mytry/ Javascript 获取对象 id 并获取对象及其值(对象和值是我的问题):    <script>  function showDetails(a) {   $("#"+a.id).click(function () {         alert(a.id);      });    //NOT WORKING-How to get object from url?    $.ajax({    url: "localhost/test/orderinfo/280",        method: "GET",        datatype: Object,        success: function(response){    var customer =response;           console.log(response);    }    });}</script>我不知道如何使用 js 或 ajax 从该 url 获取整个对象,也不知道如何获取对象值:id、name、street..非常感谢您的帮助...如果我在解释问题时有一些错误,我很抱歉。
查看完整描述

2 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

当您运行 ajax 调用时,URL 字段应该引用您尝试运行的 PHP 脚本,例如:


url: "localhost/test/orderinfo/Controller.php",

接下来,确保 PHP 脚本在某个时刻调用 orderinfo() 函数。如果您在较大的脚本中包含此函数,并且没有任何调用它的逻辑,我建议将该函数放入较小的 PHP 文件中,其唯一目的是返回该查询的输出。例如:


//Whatever you need to import to make your query calls

//Whatever variables you need to initialize for your query calls

$temporary_id = "ABC123";

public function orderinfo($id){

      $orderInfo = $this->adminsModel->getOrderInfo($id);

      $data=['orderInfo'=>$orderInfo];

      $this->view('admin/orderinfo',$data);

}

return orderinfo($temporary_id);

如果您可以提供有关您要返回的对象的任何信息以及该控制台日志的输出,那将非常有帮助。


编辑:刚刚注意到评论,您可以将 id 值作为数据传递:


url: "localhost/test/orderinfo/Controller.php",

data: {'id':id_variable},

然后在 PHP 中,使用 获取 id 值$_SESSION['id'];。或者,您可以将其作为 URL 参数传递:


url: "localhost/test/orderinfo/Controller.php?id=ABC123",

data: {'id':id_variable},

并使用以下命令进入 PHP:


$id = $_GET['id'];

ID 的值应作为 ABC123 存储在该 PHP 变量中。希望这可以帮助。


查看完整回答
反对 回复 2023-09-15
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

将数据从 PHP 发送到 JS 的最佳方法是使用json_encode将它们编码为 JSON 对象。


 public function orderinfo($id){

     $orderInfo = $this->adminsModel->getOrderInfo($id);

     $data=['orderInfo'=>$orderInfo];

     $this->view('admin/orderinfo',json_encode($data));

 }

所以在你的JS中你可以使用parseJSON来解码它,就像


<script>

  function showDetails(a) {

    $.ajax({

    url: "/test/orderinfo/280",

        method: "GET",

        datatype: JSON,

        success: function(response){

            var obj = jQuery.parseJSON(response);

            console.log(obj);

        }

    });

}

</script>

请注意,您不需要返回此对象中的整个 $data,并且出于性能和安全原因,您甚至可能不应该这样做。


相反,只需准备仅包含 JS 所需数据的对象并按所示发送它们即可。


查看完整回答
反对 回复 2023-09-15
  • 2 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信