问题标签 [javascriptmvc]

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 投票
1 回答
1442 浏览

jquery - 带有 AJAX 初始化程序设计模式的 javascriptMVC 单例

我正在尝试为使用 AJAX 调用初始化的 Singleton 制定正确的模式。这是我已经工作的一个简化示例。

它按预期工作,但我觉得这不是“正确”的方式,并且有一些方法可以将初始化程序的回调挂钩到当前正在运行的 ajax 请求的成功调用中,我担心可能会有一场比赛条件与数组方法。我在正确的轨道上吗?

或者有没有更简单的方法来做到这一点?我在这里缺少什么概念可以让生活更轻松?

0 投票
1 回答
1150 浏览

javascript - EmbjerJS vs BackboneJS vs JavascriptMVC

我的这个问题是关于不学习或询问所有这些的基本结构和变化,它只是关于拥有所有假装另一个框架到一个框架的 GURU 中最强大的标准。

我知道以前很多人都问过这个问题,但这一次,我想从不同的角度出发。似乎,我对谷歌进行了一些研究,以了解所有人在比较中所做的事情。最后我得到了,

骨干

  • 框架重量最轻,低至 5.5KB。
  • 缺少基于此链接的文档
  • 遵循严格的 MVC 规则。
  • 要使其模块化,您需要使用 AMD 进行配置
  • 聚焦 _underscore(框架库)来启动

JavaScript MVC

  • 丰富的 UI 组件

  • 沉重的框架。

  • 低挫败感。

  • 普通文档。

  • 提供用于测试的核心实体

  • 由 Steal 提供支持,供命令行使用

  • 当然MVC

  • 只需在 DOM 中加载 2 个文件

  • 拥有 4 个不同的模板引擎。

EmberJS

  • 比 BackBoneJs 更多。只是为了填补 Backbone 留下的所有空白
  • 43K 大小。为所有内容提供帮助程序库,从而减少代码
  • 可与 AMD 一起使用,使其模块化。
  • 没有更多的文档足够受欢迎。
  • 使用把手模板。

这些是一些要点,每个框架都有自己的特点。现在,重点来了,如果我们要将它们用于混合移动应用程序,哪一个好?

想一想,我正在使用 PhoneGap 和 jQuery Mobile,现在让我的代码以后可扩展并为应用程序提供完美的层次结构,哪个是最适合移动应用程序开发的框架?

它会根据速度、层次结构、可靠性、加载时间、Ajax 调用(Helper 的东西)和相关的。

谢谢

0 投票
1 回答
489 浏览

google-maps-api-3 - 使用steal.js异步加载谷歌地图api

我正在尝试使用steal.js(来自javascriptmvc扩展)执行以下代码:

这适用于所有其他脚本。但是,如果是 google map api url,它会说“'sensor' parameter is not set”类型的错误消息。请问如何摆脱这个?

如果您可以展示一些其他方式来异步加载此脚本,那也可以。就像,我尝试使用google js api loader,但是支持将 google map api 加载到版本 2,不支持 3。提前致谢。

0 投票
2 回答
1332 浏览

javascript - 骨干js是否像canjs一样使用“实时绑定”?

我一直在比较 js mvc,并注意到很多人都在吹嘘 canjs 所做的“实时绑定”。有人可以解释一下它到底是什么,以及与其他流行的 mvc 相比,它有什么帮助,如主干js、脊柱等......

0 投票
1 回答
412 浏览

javascript - 如何在 JavascriptMVC 控制器中加载脚本

我知道如何使用窃取来加载脚本,但是我想在init执行控制器方法中的代码之前加载它。我需要在控制器初始化之前定义脚本文件中的方法。

我怎样才能做到这一点?

编辑:一些背景信息:我尝试使用控制器中的窃取功能加载脚本文件,如下所示:

结果是文件是通过文件<script>头部的标签加载的。在加载集合文件之前也没有定义 jQuery。

0 投票
1 回答
1326 浏览

javascript - 在 JavasciptMVC 中存储常量值的最佳方法是什么

我知道 JavaScript 中没有常量,但是我想单独存储配置值以使它们易于查找和调整。

  1. 创建一个单独$.Class的并将键值对存储在静态部分中
  2. 或者让它们从 JSON 配置文件中读取
  3. 或者更好的东西
0 投票
1 回答
1042 浏览

cakephp - 如何设置 CakePHP 2.x 使其表现得像 RESTful Web 服务(与 JavascriptMVC 一起使用)

我正在尝试设置 cakephp 以使用非常好的 javascriptMVC (http://forum.javascriptmvc.com)。JavaScriptMVC 需要以下格式的 JSON 输出:

Cake 会生成一个带有前置类名的更深的嵌套数组。我找到了解决问题的尝试,但它们不适用于 cakephp 2.x。我知道我可以通过 php 简单地生成一个新数组和 json_encode() 它,但最好包含一个像https://gist.github.com/1874366这样的函数和另一个去扁平化它的函数。放置这些功能的最佳位置在哪里?AppController 似乎不起作用。我应该把它放在控制器的 beforeRender () 还是 beforeFilter() 中?或者有人甚至可能知道现有的解决方案/插件吗?在我目前的情况下,这对我来说是最好的,因为我的时间非常紧迫。

0 投票
1 回答
315 浏览

javascriptmvc - jmvc 3.2.2 - 控制器继承和窃取加载顺序

我在文件夹 [app]/main/create_parent/create_parent.js 中有一个基本控制器

定义为

我有几个扩展 CreateParent 的子控制器,例如 [app]/contact/create/create.js

定义为

这一切都很好(大部分)未压缩,随机我得到错误说它找不到基本控制器......一旦压缩和打包,我一直收到错误说基本控制器没有定义。

由于窃取加载顺序问题,这是显而易见的。在我的主要 [app name].js 中,我有:

所以我先“偷”了基地吃的父母,然后“偷走了”其余的控制器……所以看来我做得对吗?即使我首先在我的contact/create/create.js 文件中窃取了basec 控制器,它仍然会抱怨。

再说一次,这一切在未压缩时在大多数负载上都可以正常工作,尽管我确实随机得到了错误,但一旦压缩它是一致的。我显然误解了steal的功能,因为我认为“then”语法是定义加载顺序?

谢谢汉斯

0 投票
1 回答
579 浏览

javascriptmvc - JavascriptMVC 路由示例

我盯着 JavascriptMVC,目前正在尝试找出 jQuery.route。我知道还有其他执行路由的 3rd 方插件,但我特别想弄清楚 Javascript MVC 附带的 jQuery.route。

我熟悉 Backbone.js 和 Ember 的路由框架,但我就是不了解 JMVC。我已尝试阅读文档并查看此处的代码,但没有示例并且仍然无法弄清楚。

我正在尝试做一些基本的事情,例如,如果浏览器看到类似的 URL

然后将执行一些功能。类似于 Backbone 和 Ember 的工作方式。这可以使用 JavascriptMVC 的 jQuery.route 来完成吗?

0 投票
3 回答
311 浏览

javascript - 在 https 和 http 之间维护私钥

我正在开发一个利用面向服务架构的新站点,前端使用纯 JavaScript,通过 RESTful AJAX 调用访问 Web 服务以获取数据。

它不应该特别重要,但我的堆栈是:

  • javascriptMVC
  • jQuery
  • 引导程序
  • ASP.NET Web API(.NET 4.0 上的 C#)
  • 微软 SQL

这篇文章中,我找到了一些在客户端 (JavaScript) 和服务器(通过 Web API 的 REST 服务)之间共享私钥后保护 Web 服务调用的好方法。但是,我正在为如何建立用于加密的私钥而苦苦挣扎。

坏主意#1

最初的设置是在登录时通过 HTTPS 进行设置,然后将其存储在客户端的 cookie 中以供重复使用。问题是我们的 SSL 证书适用于https://secure.example.com,而我们的网站位于http://www.example.com - 所以我无法访问 secure.example.com cookie来自 www.example.com。

坏主意#2

我的下一个想法是通过 URL 参数将其加密并签名,从 HTTPS 登录到 HTTP 登录后页面,如下所示:

http://www.example.com/processLogin?key=[encryptedKey]&sig=[encryptedSig]&user=[userid]

encryptedKey 和 encryptedSig 都将使用另一个仅针对该交易存在的私钥进行加密。它将在登录时创建并分配给数据库中的该用户。在 HTTP 端,所有这些都被传递到解密它的服务器,验证签名,删除该私钥(以防止重放攻击 - 本质上是一个随机数)并返回解密的私钥([encryptedKey]解密)。

从那时起,解密后的值[encryptedKey]将用于所有未来的交易。问题是解密的私钥必须通过 HTTP 通过线路发送,这很糟糕。

坏主意#3

我还短暂地想到在 JavaScript 中有一个硬编码的密钥,用于解密这个值,但无论我如何尝试和混淆它,黑客都可以找到并使用它。

坏主意#4

我还考虑过在初始握手时使用公钥加密进行某种密钥交换,但如其他地方所述,除非结束,否则您不能在客户端真正确信在初始握手期间没有篡改SSL - 让我回到第一方。

大问题

那么,你们如何在不通过 HTTPS 的情况下管理这些事情呢?我的 HTTP 和 HTTPS 是否必须具有相同的域名,以便我可以将此私钥存储在 cookie 中?

请注意,该站点的非 SSL 部分不会共享信用卡或登录信息等。我只是不想让这个傻瓜敞开。