将Html存储到数组中,然后将其保存在数据库中并检索该数组 - 显示错误

时间:2016-08-30 06:03:38

标签: javascript php jquery html arrays

我将一些数据存储在数组中,然后将其存储在数组中。一切正常。但由于要求,我不得不在该数组中存储一些HTML。以下代码是其中的一部分

step2_data["data1"] = data1;

step2_data["color"] = color;

step2_data["data2"] = sectionArray;

var html = '<div class="here"></div>';

step2_data["drawing_door"] = html;

要检索数据,请执行此操作

var stored_data = JSON.parse('<?php echo json_encode(
                get_user_meta( get_current_user_id(), "CONFIG_FILE",false));?>'); 

一切都很好,直到我介绍了HTML内容存储。 我得到以下错误

enter image description here

在控制台中,数组看起来像这样

JSON.parse('[[{"step 2":{"drawing_door":"<div class=\"here\"><\/div>"}}]]');

它是一个很大的数组我只是展示了html部分。

如果你们可以提出建议,任何想法我哪里出错或任何其他选择。

2 个答案:

答案 0 :(得分:1)

如果你想通过javascirpt对象访问PHP数组,不需要将它存储为json字符串并解析它以转换为JavaScript对象,只需你可以做到

var stored_data = <?php echo json_encode(
                get_user_meta( get_current_user_id(), "CONFIG_FILE",false));?>;

答案 1 :(得分:1)

所以我认为我的解决方案没问题,不是吗? :d。

错误,因为当您将HTML文本放入变量

var html = "something"

现在“某事物”是字符串值。所以在double中所有都必须是字符串。如果你想把双引号放在里面,你有两个解决方法:

//add escape the special characters
var html = "<a href="\google.com"\></a>";

OR

//add single quote only inside
var html = "<a href='google.com' id='link' class='my_class' ></a>";

如果你在双引号中加上双引号“...”,那意味着你关闭字符串并把变量放在里面,如:

var link = "google.com";
var html = "<a href=' "+ link +" '></a>"; 

我希望我的解释清楚。对不起,我的英语不足以解释更多细节。