令人惊讶的是,我发现这个主题几乎没有任何东西,但我认为这是一个非常简单的解决方案。在括号内打印javascript变量
问题描述:
我有填充有PHP变量JavaScript变量:
var createdEncode = '<?php echo $createdEncode; ?>';
的PHP包含JSON串但没有起始和结束花括号。我检查了定界符的问题,但该字符串是罚款我是怎么想的,看到自己:
var createdEncode = '"sEcho":1,"iTotalRecords":15,"iTotalDisplayRecords":11,"aaData":[["1","Suche Kurier","","dauerhaft, immer","","","ein geschenk","3","test dauerhaft","0","1","1","",""],["4","Suche Hilfe","1","bis 09.01.2014, sdfkdsjf","","","Du gibst: 9\u20ac","1","Auch gibt es niemanden, der den Schmerz an sich liebt, sucht ...","1","1","0","",""],["5","Suche Kurier","","bis 15.01.2014, jklkl","","","Du gibst: 8\u20ac","1","jllk","1","1","0","",""],["7","Suche Kurier","","bis 20.01.2014, jkljkl","","","Du gibst: 8\u20ac","1","nm,.","0","1","0","",""],["8","Suche Hilfe","1","am 25.01.2014 um 08:45 Uhr","","","Du gibst: 8\u20ac\/h","2","dsdf","0","1","0","",""],["9","Biete Kurier","","bis 08.01.2014, swrslkjk","","","kljkjl","3","Auto Kompaktklasse, H\u00e4lfte des Kofferraums freier Platz","1","1","0","2","4"],["10","Biete Hilfe","1","am 26.01.2014 um 12:45 Uhr","","","Du bekommst: 6\u20ac","1","sdsdfs","0","1","0","",""],["11","Suche Kurier","","bis 23.01.2014, sfui","","","Du gibst: 7\u20ac","1","jlkkjl","0","1","0","",""],["12","Suche Hilfe","1","am 15.01.2014 um 13:00 Uhr","","","Du gibst: 8\u20ac\/h","2","sdfkl","1","1","0","",""],["13","Biete Kurier","","bis 29.01.2014, erert","","","Du bekommst: 4\u20ac\/h","2","Zu Fu\u00df, Dreiviertel des Kofferraums freier Platz","0","1","0","0","5"],["14","Biete Hilfe","1","dauerhaft, dfgdf","","","Du bekommst: 3\u20ac\/h","2","xfsfds\u00f6k","0","1","0","",""]],"oLanguage":{"sUrl":"language\/dataTables.german.txt"}';
后来我得到了一些JS它说:
$('#postsCreatedData').dataTable({
createdEncode,
"bAutoWidth": false,
"aoColumnDefs":[
{"aTargets .... stuff ...
我的问题是,“createdEncode”不没有,控制台抛出Uncaught SyntaxError: Unexpected token ,
。 Meant是“createdEncode”后面的逗号。
我的方法:
我 document.write(createdEncode);
它抛出unexpected token .
尝试过。 也试过+ createdEncode +
。同样的事情在这里,意想不到的+ ... 我真的不知道该怎么做。你能否提供一个解决方案将该变量的内容打印到该数据表中?
非常感谢。
解决方案:
由于JavaScript需要一个合适的对象,而不是预期的我不得不重写整个数据表工作的字符串() - 调用。感谢MueR让我走上正轨。
基本上,我将打印的PHP变量转换为标准的JSON对象,并将其作为JSON对象设置为变量的其他选项进行了扩展。
我所做的一切则是:
var createdParams = $.extend({}, createdEncode, appendix);
该插头的“附录” -JSON到createdEncode,因此呼叫现在的工作:
$('#postsCreatedData').dataTable(createdParams);
什么的* *生成的JavaScript看起来像?这是给你错误的代码。在尝试修复产生它的代码之前,找出你想要产生的东西! – Quentin
很难回答这个问题,因为尽管你已经解释了,但是我们根本不知道客户端的输出是什么,而没有亲自看到它。您可以从客户端查看网页的源代码,然后将JavaScript中显示的内容完全添加到您的问题中,作为PHP分析的代码行的输出:var createdEncode ='<?php echo createdEncode; ?>';' –
好吧,我用完整的字符串更新了我的问题:) – Karl