使用Ajax加载HTML,而不是使用Ajax仅加载数据,并使用Javascript构建HTML
我正在做一个项目,需要通过AJAX加载页面上的一些信息。但我不太确定如何加载这些信息使用Ajax加载HTML,而不是使用Ajax仅加载数据,并使用Javascript构建HTML,javascript,jquery,html,ajax,load,Javascript,Jquery,Html,Ajax,Load,我正在做一个项目,需要通过AJAX加载页面上的一些信息。但我不太确定如何加载这些信息 我不知道哪种方法更适合我: 1)使用AJAX加载整个HTML,然后将其附加到页面中 或 2)仅使用AJAX加载数据,然后使用Javascript(++JQuery)构建HTML) 我倾向于使用第一种方法,因为这是最简单的方法,但就内存而言(我要加载的最大文件大约有7kb,这并不太多) 第二个是最难的,它涉及到一个巨大的Javascript(Jquery)代码来构建HTML(我还必须加载元素的属性)。因为我
我不知道哪种方法更适合我: 1)使用
AJAX
加载整个HTML
,然后将其附加到页面中
或
2)仅使用AJAX
加载数据,然后使用Javascript
(++JQuery
)构建HTML
)
我倾向于使用第一种方法,因为这是最简单的方法,但就
内存而言
(我要加载的最大文件大约有7kb
,这并不太多)
第二个是最难的,它涉及到一个巨大的
Javascript
(Jquery
)代码来构建HTML
(我还必须加载元素的属性)。因为我要加载很多不同的HTML
代码,我必须创建很多条件(例如,一个用于按钮
,一个用于标题
,一个用于文本区域
等),我还必须创建包含HTML
的变量
我的问题是,在我的案例中,哪种方法最适合使用?我始终坚持将数据/逻辑和视图进行清晰划分的解决方案。在第一种选择中可能会出现这种情况。对使用JavaScript生成的HTML进行更改非常困难
我建议另一种选择:使用客户端模板。使用ajax调用加载模板和数据,然后使用javascript填写模板。有一些库用于此场景。我可以想象有两个开发人员在工作:一个全职后端开发人员和一个全职前端开发人员。
BE开发人员必须向FE开发人员发送一些数据以正确显示。考虑到编程尽可能简单,他选择了OP描述的第一种方法。每个人都很高兴
几个月后,这些数据的显示需要更新。经理很快打电话给前端开发人员,说:
“嗯……不行。整个数据已经直接从服务器格式化了。”
哦,不!如果数据只是来自服务器的原始数据,这会发生吗?我想知道=)第二种方法:
使用AJAX只加载数据,然后使用Javascript(+JQuery)构建HTML
非常合适,这些方法的一个主要优点是您的ajax响应将变得更快。
此外,将逻辑与设计分离更符合逻辑
注意:最佳解决方案始终取决于您的具体情况。如果您希望人们能够回答您的问题,您需要更加具体。你想实现什么?我只是想在页面上加载一些html,我不知道哪种方式更好:加载普通html还是只加载html中的数据,然后使用JavaScription构建它。我同意这个答案。从架构的角度来看,只发送JSON并通过模板库创建html更好。但是,如果你需要更新页面的一小部分,并且在应用程序的其他部分没有太多的模板库,你可以直接发送html。我还打算建议使用模板。这三种方法我都试过了。在我看来,最重要的是正确地分离代码。必须在一堆JS中编辑HTML,这真是太糟糕了。那么,对于您的示例,您选择哪种方法呢?第二个?是的。我总是选择这个。当然,缺点是它更复杂。但我相信它更好,因为它是解耦的。我的问题是html是由php(我自己的模板引擎)解析的,因为我使用了一个语言选择引擎(也是我自己的),所以如果我想使用原始数据,我还必须包括带有特定用户语言的文件。我注意到GitHub使用第一种方法获取数据(纯HTML)