PHP 读取 txt 中的 json 数据传递给 JavaScript,再在 textarea 中原样显示出来

watergood 发布于 11/13 19:03
阅读 172
收藏 0
PHP

想要实现的功能:

PHP 读取 txt 中的 json 数据传递给 JavaScript,再在 textarea 中原样显示出来

尝试的代码:

// 部分 PHP 代码
$content = file_get_contents($jsonFileName);

// 部分 JavaScript 代码
var stringWebsites = "" + <?php echo $content; ?> + "";
document.getElementById('websitesData').value = stringWebsites;

 

遇到的问题:

尽管上面的 JavaScript 代码中的变量 stringWebsites 的类型为 string,但是 textarea 中显示的内容却是 [object Object]。

var stringWebsites = <?php echo json_encode($content); ?>;
document.getElementById('websitesData').value = stringWebsites;

这样使用 json_encode虽然可以正常输出 json 内容,但是不是我想要的结果,因为如果 json 数据格式有误,这种方式就会无法正常输出 json 文件的内容。

更新:这样可以正常输出 json 内容,即便 json 数据格式有误,也会正常输出 json 文件的内容……,是我想当然了,没有尝试下。json_encode() 的返回值类型是 string...

加载中
0
老bia同学
老bia同学

你文件读取出来的$content,你看看是什么类型诶..读取出来的$content本身就是个对象呢?

watergood
watergood
我看了PHP官网上的文档,函数 file-get-contents() 的返回值类型是 string。textarea 中输出 object 原因在于那段 JavaScript 代码,JavaScript 把 PHP 传过来的包含 json 数据的 string 自动转换成 json 对象了。
0
aaasayok
aaasayok

 你js判断一下就好了

var stringWebsites = '<?php echo $content; ?>';
if ( typeof stringWebsites  === object) {
    stringWebsites = JSON.stringify(stringWebsites)
}
console.log(stringWebsites);

 

 

 

 

返回顶部
顶部
天津时时彩