Ajax 无需刷新即可在浏览器上返回信息。这是否意味着它将 ID 存储在会话/有状态行为中?我没有看到基于 Ajax 的 Web 应用程序中的 URL 有任何变化。我正在查看的示例是 - http://evolvingweb.github.io/ajax-solr/examples/reuters/index.html。我正在尝试比较在 ASP.NET MVC 中开发的无状态 UI 与在 javascript 框架中使用 ajax 开发的 UI
2 回答
HTTP 是一种无状态协议。来自Http RFC:
超文本传输协议 (HTTP) 是分布式、协作、超媒体信息系统的应用层协议。它是一种通用的、无状态的协议,通过扩展其请求方法、错误代码和标头,可用于超文本之外的许多任务,例如名称服务器和分布式对象管理系统。HTTP 的一个特性是数据表示的类型化和协商,允许独立于正在传输的数据构建系统。
Ajax 不是您想的那样:来自W3C:
AJAX = 异步 JavaScript 和 XML。
AJAX 是一种用于创建快速和动态网页的技术。
AJAX 允许通过在后台与服务器交换少量数据来异步更新网页。这意味着可以更新网页的部分内容,而无需重新加载整个页面。
如果内容发生变化,经典网页(不使用 AJAX)必须重新加载整个页面。
ASP.NET 状态管理可以使用 Cookie、会话、浏览器缓存(HTML5 为今天的缓存提供浏览器数据库)、配置文件、SQL Server 缓存、QueryStrings、HiddenFields 来完成。
构建响应用户的 Web 应用程序是一种新趋势,SPA(单页应用程序)使用 Ajax 和 JavaScript 中构建的 MVVM 框架提供了出色的用户体验。
我会说,是的,它确实使页面有状态。
据我了解,您可以:
设置一个javascript变量myGlobal = "current value"
,
然后删除例如“ <div id='content'>
”并将其替换为新内容,
该变量myGlobal
仍然可以使用并且其值将保留。
这对我来说似乎是一种状态。