首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将php数组传递给json文件(PHP ->Json->JS)

问将php数组传递给json文件(PHP ->Json->JS)
EN

Stack Overflow用户
提问于 2016-02-19 18:34:37
回答 2查看 67关注 0票数 1

我有php代码

代码语言:javascript
复制
<?php
$csv = array_map('str_getcsv', file('/web2016-master/projectclass/data/file.csv'));
array_walk($csv, function(&$a) use ($csv) {
    $a = array_combine($csv[0], $a);
});
array_shift($csv); # remove column header
json_encode($csv);
?>

我有一个json文件,在那里我不会传递json_encode($csv);

我有使用json文件的javascript

代码语言:javascript
复制
var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function() {
  if (xhr.readyState === 4) {
    var file = JSON.parse(xhr.responseText);
    var statusHTML = '<tr>';

    for (var i = 0; i < file.length; i += 1) {
      statusHTML += '<td>';
      statusHTML += file[i].FirstName;
      statusHTML += '</td>';
      statusHTML += '<td>';
      statusHTML += file[i].LastName;
      statusHTML += '</td>';
      statusHTML += '<td>';
      statusHTML += '<a href="#">advise</a>';
      statusHTML += '</td>';
      statusHTML += '</tr>';
    }
    document.getElementById('studentList').innerHTML = statusHTML;
  }
};
xhr.open('GET', 'data/file.json');
xhr.send();

我需要在json文件中包含什么,以便PHP->Json->JS。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-19 18:42:24

查看file_put_contents

代码语言:javascript
复制
<?php
$csv = array_map('str_getcsv', file('/web2016-master/projectclass/data/file.csv'));
array_walk($csv, function(&$a) use ($csv) {
    $a = array_combine($csv[0], $a);
});
array_shift($csv); # remove column header
file_put_contents('data/file.json', json_encode($csv));
?>

您还可以回显内容并使用输出,但这将要求您解析每个请求(除非设置了一些缓存):

代码语言:javascript
复制
<?php
$csv = array_map('str_getcsv', file('/web2016-master/projectclass/data/file.csv'));
array_walk($csv, function(&$a) use ($csv) {
    $a = array_combine($csv[0], $a);
});
array_shift($csv); # remove column header
header('Content-Type: application/json');
echo json_encode($csv);
?>

让您的javascript请求您的PHP文件:

代码语言:javascript
复制
xhr.open('GET', 'yourfile.php');
票数 0
EN

Stack Overflow用户

发布于 2016-02-19 18:42:58

您需要调用PHP文件。Javascript对PHP进行ajax调用,该调用将返回JSON。除非您有问题中没有提到的其他要求,否则不需要使用中间json文件。

代码语言:javascript
复制
xhr.open('GET', 'data/file.php');

您可能需要稍微清理一下javascript逻辑,看看这篇文章中关于不使用jQuery进行ajax调用的示例。How to make an AJAX call without jQuery?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35512479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档