php - 如何从 PHP 脚本发送 JSON 数据以供 jQuery 使用?

标签 php javascript ajax json

我在处理某些 JSON 数据时遇到问题。我不知道如何获取 PHP 中生成的一些数据并将其转换为可以在 jQuery 脚本中使用的数据。我需要的功能是这样的:我需要能够单击页面上的图像,并且根据所选元素,我需要显示来自数据库的结果。

这是我得到的 HTML 页面:

<html>
  <head>
  <title>pippo</title>
  <script><!-- Link to the JS snippet below --></script>
  </head>
  <body>
    Contact List:
    <ul>
      <li><a href="#">
        <img src="contacts/pippo.png" onclick="javascript:change('pippo')"/>pippo
      </a></li>
      <li><a href="#">
        <img src="contacts/pluto.png" onclick="javascript:change('pluto')"/>pluto
      </a></li>
      <li><a href="#">
        <img src="contacts/topolino.png" onclick="javascript:change('topolino')"/>topolino
      </a></li>
    </ul>
  </body>
</html>

这里是被调用的 PHP 代码:

<?php
include('../dll/config.php');

$surname = $_POST['surname'];

$result = mysql_query("select * from profile Where surname='$surname'") or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
    $_POST['name'] = ucfirst($row['name']);
    $_POST['tel'] = $row['telephone'];
    $_POST['companymail'] = $row['companymail'];
    $_POST['mail'] = $row['email'];
    $_POST['fbid'] = $row['facebook'];
}
?>

这是我正在使用的 Ajax JavaScript 代码:

<script type="text/javascript">
    function change(user) {
        $.ajax({
            type: "POST",
            url: "chgcontact.php",
            data: "surname="+user+"&name=&tel=&companymail=&mail=&fbid",
            success: function(name,tel,companymail,mail,fbid){
                alert(name);
            }
        });
        return "";
    }
</script>

有人告诉我这个 JS 片段可以实现我想要的功能:

$.getJSON('chgcontact.php', function(user) {
    var items = [name,surname,tel,companymail,email,facebook];
    $.each(user, function(surname) {
        items.push('surname="' + user + "'name='" + name + "'telephone='" + telephone + "'companymail='" + companymail + "'mail='" + mail + "'facebook='" + facebook);
    });
    /*
    $('<ul/>', {
        'class': 'my-new-list',
        html: items.join('')
        }).appendTo('body');
    */
});

但我不清楚 - 我不明白我需要如何使用它或者我应该将它包含在我的代码中。

最佳答案

您必须在 PHP 脚本中创建正确的 JSON 字符串,然后在脚本末尾回显该字符串。

一个简单的例子:

$person = new stdClass;

$result = mysql_query("select * from profile Where surname='$surname'")
or die(mysql_error());
while ($row = mysql_fetch_array( $result )) {
    $person->name = ucfirst($row['name']);
    $person->tel = $row['telephone'];
    $person->companymail = $row['companymail'];
    $person->mail = $row['email'];
    $person->fbid = $row['facebook'];
}
echo json_encode($person);

关于php - 如何从 PHP 脚本发送 JSON 数据以供 jQuery 使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9182488/

相关文章:

php - 在mysql中没有选择数据库

php - 如何在 Adob​​e AIR 应用程序中通过 JavaScript 将 XML 数据发布到 URL?

javascript - 如何将 mandrill 电子邮件发送到电子邮件数组?

java - 如何使用 .HAR 文件生成 HTML UI(Firebug 显示)

jquery - 更新海边的嵌入组件,无需刷新整个页面

php - 找不到基表或 View : 1146 Table Laravel 5

php - 如何将 .png 文件转换为 .bmp?

javascript - 在 gridview 中弹出更多详细信息?

ajax - cljs-ajax POST 给出 403

ajax - JQuery 在点击时滚动到 anchor ?