【发布时间】:2015-02-23 01:52:26
【问题描述】:
我正在开发一个纯 HTML 网站,所有页面都是 HTML,与任何服务器端代码无关。
基本上每个对服务器的请求都是使用 AJAX 发出的,我从表单发送数据,我在 Handlers 中处理这些数据,然后我返回一个 JSON 字符串,该字符串将在客户端进行处理。
假设页面加载了 URL 中的参数,例如 question.html?id=1。之前,我曾经在Page Load方法上读取这个查询字符串,然后从数据库中读取数据等等……
现在,由于它是纯 HTML 页面,我正在尝试想一种方法来允许我做同样的事情,我有一个想法,但 99% 是个坏主意。
想法是使用JS读取URL参数(页面加载后),然后发出AJAX请求,然后获取数据并显示在页面上。我知道,我们现在有 2 个请求,而不是对服务器(Web 表单)的 1 个请求,第一个请求是获取页面,第二个请求是 AJAX 请求。当然,这有很多延迟,因为页面将在开始时加载而没有我需要的实际数据。
我的目标是不可能的,还是有成熟的方法?
【问题讨论】:
-
我猜,你可以使用htaccess,如果有参数你可以覆盖链接并调用php文件,但我不知道怎么做,只是一个想法
-
很好的问题,然后我用谷歌搜索了一句话:“javascript单页应用程序框架”。 Nro 1 结果是 Durandal,之后有一个与我的搜索相关的不同来源的列表,我浏览了一下。在这些链接中,AngularJS、Backbone、Knockout 和许多其他框架都被提及并或多或少地进行了详细比较,我认为这非常有用。
-
我在查看 Durandal (durandaljs.com/showcase.html) 时注意到的一件事是它用于 BizTalk 360 Web 监控,有趣的是微软选择它作为 BizTalk 的 Web 框架;所以我强调 Durandal 的原因是您使用的是 ASP.NET :-) 总的来说,我认为找到“正确”的框架有点困难,因为它们似乎都有起起落落。
-
您使用的是 WebForms 还是 MVC?如果你对使用 MVC 持开放态度,那么实现这种 SPA 应用会容易得多。
-
@abhitalks 也不是,我的目标是实现完全分离,我不希望我的 HTML 页面与任何类型的服务器端代码相关,换句话说,我希望页面以 @ 结尾987654324@,没有
.aspx,没有.xhtml,没有.cshtml,什么都没有。也许global.asax可以提供一个解决方案,也许可以拦截请求?
标签: javascript jquery html asp.net ajax