首页 > 解决方案 > json不带html组件

问题描述

我在 Coldfusion 中有这段代码

<cffunction name="FieldsofSelectedTable" output="false" returntype="any">
        <cfargument name="tableList" required="true" type="any">
        <cfscript>
            var tablesLists = utils.arrayDistinct(arguments.tableList);
            var options = "";
            var fields = '';

            for (eachTable in tablesLists) {
                var result = getcolumns(eachTable);
                loop query="result" {
                    options &= "<option value='#result.field#'>" & #field# & "</option>";
                }
                var fields &= serializeJSON(getcolumns(eachTable,1),"struct");
                
            }
            fields = ReReplace(fields,'^\s*\[|]\s*$','','all');
            fields = Replace(fields,'][',',','all');
            var createCode =  '{"fieldOptions":' & '"' & options & '"' & "," & '"fields":' & "[" & fields & "]" &'}';
            return createcode;
        </cfscript>
    </cffunction>

当我进行转储时,我得到了选项数据,但是当我使用它时,它会中断

这是我的转储的样子

{
  "fieldOptions": "<option value='dbo.errors.id'>dbo.errors.id</option><option value='dbo.errors.code'>dbo.errors.code</option><option value='dbo.errors.errorid'>dbo.errors.errorid</option><option value='dbo.errors.template'>dbo.errors.template</option><option value='dbo.errors.error_message'>dbo.errors.error_message</option><option value='dbo.errors.line'>dbo.errors.line</option><option value='dbo.errors.error_type'>dbo.errors.error_type</option><option value='dbo.errors.datein'>dbo.errors.datein</option><option value='dbo.errors.status'>dbo.errors.status</option><option value='dbo.errors.viewed'>dbo.errors.viewed</option>",
  "fields": [
    {
      "field": "dbo.errors.id"
    },
    {
      "field": "dbo.errors.code"
    },
    {
      "field": "dbo.errors.errorid"
    },
    {
      "field": "dbo.errors.template"
    },
    {
      "field": "dbo.errors.error_message"
    },
    {
      "field": "dbo.errors.line"
    },
    {
      "field": "dbo.errors.error_type"
    },
    {
      "field": "dbo.errors.datein"
    },
    {
      "field": "dbo.errors.status"
    },
    {
      "field": "dbo.errors.viewed"
    }
  ]
}

但是当我在检查器预览中查看时,所有选项都从fieldOptions

我在这里做错了什么,我在 Lucee

标签: coldfusionlucee

解决方案


推荐阅读