问题标签 [hijax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1238 浏览

javascript - pushstate“hijax”的Javascript框架

我们所有的应用程序都是 php mvc,并且在客户端顶部有一个非常简单的 js 行为层。我们希望更多地构建 javascript 并停止请求“片段”来执行简单的行为(例如,在各处加载不同的 jquery 插件)。我们不使用 javascript MVC 框架,而是为我们的新应用寻找最合适的解决方案。

最吸引人的解决方案之一是继续为我们呈现服务器端,就像Twitter 所做的那样。他们称之为“Hijax + 服务器端渲染”。我们不希望在 javascript 中拥有完整的 mvc 框架,但博客中的这些引述对我们非常有吸引力:

按照约定,我们的组件将自己附加到单个 DOM 节点,通过委托监听事件,在 DOM 上触发事件,这些事件通过 DOM 事件冒泡广播到其他组件。[...] 其次,我们所有的组件都是使用 AMD 定义的。

我们一直在尝试构建我们自己的东西,但是如果没有高水平的 javascript 专业知识,我们就无法做到这一点。对于非常简单的情况,像jquery-pjax这样的东西似乎也是一个很好的解决方案。

我们正在寻找:

  1. 将 XHR 与 DOM 松散耦合的 UI/数据隔离
  2. 事件驱动的 UI,因此开发人员可以将侦听器附加到所有类型的 DOM 对象

有没有类似 javascript 框架的东西?随着pushState越来越多的关注,我希望会有一些东西可用。有任何想法吗?

0 投票
1 回答
434 浏览

php - 通过 hijax 动态加载内容

我想加载页面而不刷新。虽然更喜欢 ajax 技术,但 URL 不会在 SEO 中爬网。所以我选择 Hijax 技术来更改内容而无需重新加载。我是这种技术的新手。因此,请任何人为此建议指南。还说它是否支持动态内容加载?因为我是根据主键值来选择内容的。

提前致谢。

0 投票
1 回答
105 浏览

javascript - jQuery Mobile hijax 重定向——如何防止?

当我在站点的登录页面时,我想运行整个页面刷新,因为登录页面的布局与我登录时完全不同。当以前登录的用户导航时会出现一个问题在我的网站上,并且由于超时而自动注销并重定向到登录页面。jQuery Mobile“hijax”这个页面现在布局被毁了。

如何防止 jQuery Mobile “劫持”重定向?

这里没有提到:http: //jquerymobile.com/demos/1.2.0/docs/pages/page-links.html是相关的,因为所有链接都是有效的并且不需要任何特殊属性,直到当然会发生超时。

谢谢!

0 投票
0 回答
223 浏览

javascript - 这种“hijaxing”形式的“模式”可靠吗?

Hijax的定义:

Hijax 是对 AJAX 应用渐进增强的术语。它也被称为“简化的 Ajax”。Hijax 由 Jeremy Keith 提出,作为一种构建 Web 应用程序的技术,该技术仅通过使用 AJAX 技术来“劫持”表单提交和响应,更新 DOM 以反映请求/响应周期的结果,从而优雅地降级。

http://en.wikipedia.org/wiki/Hijax


我刚刚开始我的一个爱好项目,我认为“hijax”几乎所有东西都会很有趣。我使用sails.js(使用express)作为我的后端框架,客户端没有框架。


Hijaxing 常规链接(GET请求)非常简单,但是POST请求稍微复杂一些,因为它们修改数据并且必须响应操作是否成功,并且(有时)还返回带有更新数据的更新视图。

我处理POST请求(表单POST)的方式是......

  1. 在客户端,我检查任何具有type=submit属性且属于form.
  2. 我向该元素的表单 action发送AJAX 请求
  3. 在服务器上,该操作路由的控制器修改数据库,如果成功,它会发送一个res.redirect(),其中包含在发送表单后要加载的所需 URL。
  4. 回到客户端,当服务器响应重定向时,我的 hijax 脚本将“重定向”响应 HTML 插入到文档中(因为 res.redirect() 实际上发送 HTML)。

[CLIENT]下面是发送表单数据并插入响应 HTML 的客户端代码示例:

[服务器]下面是这个 AJAX 脚本在 POST 请求时与之通信的控制器类型的示例:


我所有的正常GET路线都已经根据是否从 AJAX 请求它们来处理要服务的数据。这就是为什么res.redirect()还返回适当的 HTML(部分或全部内容)的原因。我在想,如果验证/数据发布出现错误,我也可以在重定向的同时发送 Flash 消息。

所以我的问题是,在数据库修改完成后依靠 res.redirect() 发送回我想要呈现的 HTML 是否可以?我的意思是,毕竟重定向指令包含在标头中,这不是很可靠,不是吗?我意识到我也可以返回一个视图,但是那将不得不复制其他控制器已经执行的代码。

谢谢。