Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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 通过AJAX动态显示大量html_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

Javascript 通过AJAX动态显示大量html

Javascript 通过AJAX动态显示大量html,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我试图找到一种最合理的方法,在AJAX调用后动态显示大量HTML。我们目前得到一个json数组,然后只创建一个包含数组值的HTML字符串,然后将其全部写入$(“#ele”).HTML(),但字符串非常大 这就是问题所在;我们在一个javascript变量中有整整100行的和等,这使得jquery字符串动态插入一个新的订单条目又大又丑,如下所示: var newEntry = "<div class='sale-box' id='saleBox"+respObj[i]["id"]+"'>

我试图找到一种最合理的方法,在AJAX调用后动态显示大量HTML。我们目前得到一个json数组,然后只创建一个包含数组值的HTML字符串,然后将其全部写入$(“#ele”).HTML(),但字符串非常大

这就是问题所在;我们在一个javascript变量中有整整100行的
等,这使得jquery字符串动态插入一个新的订单条目又大又丑,如下所示:

var newEntry = "<div class='sale-box' id='saleBox"+respObj[i]["id"]+"'>"
                                +"<div style='width: 100%; float: left;'>"
                                    +"<b><center>Invoice Number "+respObj[i]["invoiceNumber"]+"</b>"
                                    +"<a href='https://www.bluescentric.com/mgmt/log-entries.php?i="+respObj[i]["id"]+"'>"
                                    +" <i>(See History Log)</i></a></center>"
                +a hundred more lines... literally. 
var newEntry=“”
+""
+“发票编号”+respObj[i][“发票编号”]+“
+""
+还有一百行。。。字面上

有没有更好的方法从javascript显示大量HTML?现在,我们的两个选项似乎是1)让php创建整个“”结构并将其发送到javascript,或者2)将数组变量插入一个大的、长的javascript字符串,然后输出到元素

使用模板系统或创建简单的模板系统。使用包含以下内容的html文件的函数
get\u file\u contents

<table><tr><td>{{column_1}}</td><td>{{column_2}}</td></table>
interpolate
是一个
String.prototype.interpolate=function…
prototype函数扩展字符串,因此任何字符串都可以使用语法
“String.interpolate”(args\u as\u object)插入变量。


:-)

听起来像是的工作。您需要使用框架或其他东西将json转换为html。看看这个,你有实际/具体的问题吗?或者你只是想把事情弄清楚?就我个人而言,我会用PHP检索html文件的内容,然后把它吐出来,让javascript用作模板。我可能会使用“发票号{{Invoice_Number}}”这样的语法和类似template.interpolate({Invoice_Number::13323})这样您就有了一个单独的文件来更改html,它是干净的,javascript将使用{{variable_names}作为变量插值的持有者。@Xiquid这是一个很好的建议。这可能是一个理想的答案。一个模板,可以在一个文件中轻松更改。
var template = "string of template from php";
var interpolated_template = template.interpolate({column_1:'something',column_2:'something2'});