【问题标题】:convert array into json using php , and retrive json using jquery or javascript [closed]使用 php 将数组转换为 json ,并使用 jquery 或 javascript 检索 json [关闭]
【发布时间】:2020-03-10 12:26:40
【问题描述】:

我使用 php 创建了 json:

 $arr = [];
    foreach($userinfo as $record) {
        $arr[] = array(
           'BAid' => $record->getBAid(),
           'BCid' => $record->getBCid(),
          'BAusername'=>$record->getBAusername(),
          'BAdisplay_name'=>$record->getBAdisplay_name(),
          'BAtel'=>$record->getBAmobile(),
          'BAimg'=>$record->getBAimg(),
          'BArole' => $record->getBArole()
      );}

    echo json_encode($arr);

我使用下面的代码来检索json的结果,我想把它放在html表中。

 $.ajax({
            url :"admin=search",
            type: "POST",
            data: {search:name },
            success: function (data) {
              //  alert(data);
                const myArrStr = JSON.stringify(data);

                console.log(data);

            }
        })

【问题讨论】:

  • JSON 是一个字符串,你必须使用JSON.parse 将 JSON 字符串解析为一个对象。
  • 那么首先,看看 DevTools 中的 Network 选项卡。是否收到状态为 200 的响应?您还可以查看响应正文的实际内容。最后,打开控制台查看解析JSON时是否出错。
  • 这里到底有什么问题?您是否没有得到想要的响应,或者您不知道如何将内容放入表格中?
  • NOTE 使用JSON.stringify 与您想要的完全相反! JSON.stringify() 方法将 JavaScript 对象或值转换为 JSON 字符串
  • @FedericoMoretti 我使用 post 发送每个 AJAX 请求,但是有些东西是否会存储在服务器上(因为 CSRF 检查)。在 OP 的真实代码中也可能有一些使用 post 方法的东西,没有显示给我们,因为它与任务无关。

标签: javascript php jquery html json


【解决方案1】:

试用并使用:

var data_array = JSON.parse(data);

这将在 javascript 数组中返回 json。 然后你可以使用data_array.BAid 来输出数据。

编辑: 如果这对您没有帮助,请在此处掠夺:https://stackoverflow.com/a/8823991/10791031

【讨论】:

  • 返回未定义的变量。使用这种方式。
【解决方案2】:

您必须设置 headers 以告诉浏览器请求的端点正在返回 json 响应。 所以你可以使用下面的代码来设置标题。

$data = $arr
header('Content-Type: application/json');
echo json_encode($data);

【讨论】:

  • 它没有解决我的问题,谢谢。
猜你喜欢
  • 2017-01-09
  • 2018-07-24
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-14
  • 2012-12-09
相关资源
最近更新 更多