-1

我通常使用 Jquery 获取所有 JSON 数据,但我目前只需要使用 PHP 来获取。

本质上,这就是我通常使用 Jquery 获取和输出它的方式:(片段,而不是整个代码)

$.post('getdata.php', {uid:uid} , function(data){
    if(data){   
    $.each(data, function(key, data) {
    $('#div #span-'+key).html(data);
    });

}

} , 'json')

其中 uid 是传递给 php 用于查询数据库的值。

这是 php 后端:(再次只是 JSON 部分的一个片段)

while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
    $ret["ID"]       = $row['id'];
    $ret["username"] = $row['username'];
    $ret["email"]    = $row['email'];
    $ret["age"]      = $row['age'];
    echo json_encode($ret);
}

显然,在输出页面上,我与 jquery 一起启动了类和函数:

$class = new retrieveData();
$class->userDetails();

然后输出我想要的数组的各个部分,我将为特定数组部分创建一个具有相同唯一键的跨度,如 jquery 中所述。

我将如何将其中的 jquery 部分转换为 PHP?

4

2 回答 2

1

因此,如果我理解您,您只想重新设计整个 ajax 端以从服务器发送请求:

$ch = curl_init($theUrlThatReturnsTheData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('uid' => $uid));
curl_setopt($ch, CURLOPT_POST, true);
$jsonData = curl_exec($ch);

$data = json_decode($jsonData);

现在做任何你需要用json做的事情......假设你的jquery片段是这样的:

<div id="<?php echo $uid ?>">
   <?php foreach($data as $key => $value): ?>
       <span id="span-<?php echo $key ?>">
         <?php echo $value ?>
       </span>
   <?php endforeach; ?>
</div>
于 2013-02-24T04:52:36.433 回答
0

jQuery 是用 JavaScript 编写的,在用户的浏览器上运行,而 PHP 只在服务器上运行。您无法将在浏览器上运行的东西转换为在服务器上运行的东西。换句话说,您不能使用 AJAX 函数,例如post

阅读这篇文章

于 2013-02-24T04:15:59.357 回答