Javascript 通过AJAX动态显示大量html
我试图找到一种最合理的方法,在AJAX调用后动态显示大量HTML。我们目前得到一个json数组,然后只创建一个包含数组值的HTML字符串,然后将其全部写入$(“#ele”).HTML(),但字符串非常大 这就是问题所在;我们在一个javascript变量中有整整100行的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"]+"'>
和
等,这使得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'});