问题标签 [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.
jquery - 带有 AJAX 初始化程序设计模式的 javascriptMVC 单例
我正在尝试为使用 AJAX 调用初始化的 Singleton 制定正确的模式。这是我已经工作的一个简化示例。
它按预期工作,但我觉得这不是“正确”的方式,并且有一些方法可以将初始化程序的回调挂钩到当前正在运行的 ajax 请求的成功调用中,我担心可能会有一场比赛条件与数组方法。我在正确的轨道上吗?
或者有没有更简单的方法来做到这一点?我在这里缺少什么概念可以让生活更轻松?
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 的东西)和相关的。
谢谢
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。提前致谢。
javascript - 骨干js是否像canjs一样使用“实时绑定”?
我一直在比较 js mvc,并注意到很多人都在吹嘘 canjs 所做的“实时绑定”。有人可以解释一下它到底是什么,以及与其他流行的 mvc 相比,它有什么帮助,如主干js、脊柱等......
javascript - 如何在 JavascriptMVC 控制器中加载脚本
我知道如何使用窃取来加载脚本,但是我想在init
执行控制器方法中的代码之前加载它。我需要在控制器初始化之前定义脚本文件中的方法。
我怎样才能做到这一点?
编辑:一些背景信息:我尝试使用控制器中的窃取功能加载脚本文件,如下所示:
结果是文件是通过文件<script>
头部的标签加载的。在加载集合文件之前也没有定义 jQuery。
javascript - 在 JavasciptMVC 中存储常量值的最佳方法是什么
我知道 JavaScript 中没有常量,但是我想单独存储配置值以使它们易于查找和调整。
- 创建一个单独
$.Class
的并将键值对存储在静态部分中 - 或者让它们从 JSON 配置文件中读取
- 或者更好的东西
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() 中?或者有人甚至可能知道现有的解决方案/插件吗?在我目前的情况下,这对我来说是最好的,因为我的时间非常紧迫。
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”语法是定义加载顺序?
谢谢汉斯
javascriptmvc - JavascriptMVC 路由示例
我盯着 JavascriptMVC,目前正在尝试找出 jQuery.route。我知道还有其他执行路由的 3rd 方插件,但我特别想弄清楚 Javascript MVC 附带的 jQuery.route。
我熟悉 Backbone.js 和 Ember 的路由框架,但我就是不了解 JMVC。我已尝试阅读文档并查看此处的代码,但没有示例并且仍然无法弄清楚。
我正在尝试做一些基本的事情,例如,如果浏览器看到类似的 URL
然后将执行一些功能。类似于 Backbone 和 Ember 的工作方式。这可以使用 JavascriptMVC 的 jQuery.route 来完成吗?
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 部分不会共享信用卡或登录信息等。我只是不想让这个傻瓜敞开。