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 变量中。希望这可以帮助。
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 所需数据的对象并按所示发送它们即可。
- 2 回答
- 0 关注
- 109 浏览
添加回答
举报