Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript innerHTML和JSON解析字符串的差异_Javascript_Json_Smarty_Decode_Innerhtml - Fatal编程技术网

Javascript innerHTML和JSON解析字符串的差异

Javascript innerHTML和JSON解析字符串的差异,javascript,json,smarty,decode,innerhtml,Javascript,Json,Smarty,Decode,Innerhtml,我在项目中使用JSmart(SMARTY JS端口)。我有两个选项来获取模板: 把它插进去 ... 把它拉过去 document.getElementById('tpl').innerHTML 以JSON值接收它 我遇到了第二个选项的问题:JSON之后的项值。Parse包含特殊字符,如\r\n或\t,includeNG/etc。JSmart不支持这一点 在从innerHTML提取的情况下,结果字符串处理得很好 小例子: JSON解析值: <!-- \r\n SMARTY templa

我在项目中使用JSmart(SMARTY JS端口)。我有两个选项来获取模板:

  • 把它插进去

    ...

  • 把它拉过去

    document.getElementById('tpl').innerHTML
    
  • 以JSON值接收它
  • 我遇到了第二个选项的问题:JSON之后的项值。Parse包含特殊字符,如\r\n或\t,includeNG/etc。JSmart不支持这一点

    在从innerHTML提取的情况下,结果字符串处理得很好

    小例子: JSON解析值:

    <!-- \r\n SMARTY template\r\n\tdata object\r\n <!-- SMARTY template data object
    模板文件不是
    JSON
    ,而是smarty模板。但是,您可以从如下文件/url获取它:

    $.get("template_url", function(tplText) {
        var tpl = new jSmart( tplText );
        //Compile the tpl with your data object
        var res = tpl.fetch( data );
        //res is your compiled HTML
        //document.write( res );
    });
    

    演示:

    模板文件不是
    JSON
    ,而是smarty模板。但是,您可以从如下文件/url获取它:

    $.get("template_url", function(tplText) {
        var tpl = new jSmart( tplText );
        //Compile the tpl with your data object
        var res = tpl.fetch( data );
        //res is your compiled HTML
        //document.write( res );
    });
    

    演示:

    请添加JSON模板!请参见pasteBin:Node.js或Browser?@Ismail RBOUH-Browser请添加JSON模板!请参见pasteBin:Node.js或Browser?@Ismail RBOUH-BrowserI通过$.getJSON作为接收对象的一部分接收此模板:{data:“…”,tpl:“…”}不要使用getJSON!模板不是有效的JSON,请使用get!再次,我收到类似{data:“…”,tpl:“…”}的JSON字符串,并$.getJSON将其解码为JS对象X。我尝试使用X.data和X.tplMy innerHTML,但X.tpl看起来非常奇怪。我想这有点像双重逃跑。将尝试在可能的位置发现我的代码…我通过$.getJSON作为接收对象的一部分接收此模板:{data:“…”,tpl:“…”}不要使用getJSON!模板不是有效的JSON,请使用get!再次,我收到类似{data:“…”,tpl:“…”}的JSON字符串,并$.getJSON将其解码为JS对象X。我尝试使用X.data和X.tplMy innerHTML,但X.tpl看起来非常奇怪。我想这有点像双重逃跑。将尝试在可能的位置发现我的代码。。。