- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,我刚刚开始使用 sammy.js ,我不太擅长,但我能够很快地掌握基础知识。我正在使用的 HTML 表单
<form id="contact_form" action="#/form" method="post">
<label for="name">Name:</label><input class="textbox" type="text" name="name" id="name" />
<label for="email">E-mail:</label><input class="textbox" type="text" name="email" id="email" />
<label for="message">Message:</label><textarea class="textbox" name="message" id="message"></textarea>
<button type="submit" name="submit" value="Submit" id="submit" />
<p id="message_outcome"></p>
我用来路由我的 url 的 Node.js
var app = $.sammy(function(){
this.element_selector = '#page1';
this.get('#/about',function(context){
$("ul#nav li").removeClass("active"); //removes "active" class
$('#nav_1').addClass("active"); //adds "active" class to the tab that is selected
$.post('home/about','', function(resp){
$('#page1').html(resp);
$('#page_container').cycle(0); //the number of the div that will be shown on click
});
});
this.post('#/form', function(context){
this.log('Form Submission');
});
});
$(function(){
app.run('#/about');
});
当网址中包含 #/form 时,我会收到一个控制台日志,其中显示其运行路线 get('#/form') ..有什么想法吗?
这里有一些可能有帮助的更多信息
我除了 sammy 之外还使用 Jquery 插件
http://jquery.malsup.com/cycle/
这就是当我单击表单上的“提交”时我的 Chrome 控制台所显示的内容。 [2010 年 10 月 10 日星期日 05:29:27 GMT-0400(东部夏令时间)] runRoute get #/form/public/js/lib/sammy.js:96[2010 年 10 月 10 日星期日 05:29:27 GMT-0400(东部夏令时间)] 404 Not Found get #/form 错误:404 Not Found get #/form
最佳答案
对于后期路由要记住的另一件事是了解 Sammy 的工作原理。当 Sammy 初始化时,它会绑定(bind)到 jQuery 选择器。
var app = $.sammy('#content', function() {
...
});
对于发布路由,Sammy 绑定(bind)到用于初始化应用程序的选择器内的所有表单(在我们的示例中为#content),并监听表单提交生成的单击事件,因为这些事件会向上冒泡到父级。现在,当它看到表单的提交事件时,如果表单指向某个路由,它将执行相应的路由。
需要记住的是,如果您的表单位于主选择器之外(例如在 #content 之外的 header 中),那么 sammy 将永远不会收到提交事件,并且 post 路由将永远不会执行。
关于jquery - 为什么 sammy.js 从不使用 post 路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3899335/
我正在将 sammy 用于需要渲染页面中内联存储的模板的 Web 应用程序。我使用脚本标记来包含标记,即 haml。 有没有一种好的、惯用的方法来渲染不通过ajax请求加载的模板?我有一个解决方案,但
在学习 Sammy.js 时,我了解到您可以在同一页面中拥有多个 Sammy.js 应用程序,每个应用程序都绑定(bind)到不同的元素(即 div)。我想了解为什么这会有用。 我读入了another
似乎 Sammy.js 捕获了 .get 回调中发生的异常,并打印出类似 [Fri Feb 01 2013 14:12:46 GMT+0000 (GMT)] body 500 Error get *e
在使用 0.7.4 版本(也为 0.7.1 )版本的 sammy.js 库时,发现如果在执行get处理程序功能期间发生某些错误,则不会在控制台上打印任何内容。 例如,在以下代码段中,尽管不存在名称为n
我同时使用了 knockout 和 sammy。我有一个移动页面,我在其中声明了 $.sammy('#portal', function(){.....}). 在“#portal”之外,我有一个常规
我正在尝试使用 Sammy 驱动的应用程序创建以下行为: 该图像描述了画廊 View ,并通过 Sammy 创建和模板框架 Handlebars 。每个元素都有以下模板: 左侧的酒红色方
我正在学习 Sammy.js 并使用它在我正在处理的 REST API 之上构建一个迷你应用程序。我无法立即找到它,我可能遗漏了什么。 我正在使用如下路线: this.get("/databases/
需要路由看起来像 #/routeName/?param1=aaaa¶m2=bbb 添加到萨米 #/routeName/:param1/:param2 和 #/routeName/?:param
function UsersVM(start_page){ var self = this; console.log('start form ' + start_page); self.g
是否可以在 Sammy.js 中定义一个包罗万象的路由或一个错误路由?我知道我可以绑定(bind)到“错误”,但如果没有匹配的路由似乎不会被触发。 谢谢! 最佳答案 您应该覆盖 notFound 函数
我想为一个回调注册多个路由,如下所示。我用“,”字符分开它们只是为了表明我的意思。可以做这样的事吗? this.get('/Posts/MostVoteds, /Posts/Mostpopular,
我的应用程序中有几条路线: Sammy(function() { this.get('#!foo', function(){ ... }); this.get(
我刚开始使用 sammy.js。我想发布一个表单并通过ajax获取结果。我使用 sammy.js 是因为当用户单击结果时,他们将被重定向到新页面,并且当他们想要再次返回表单页面时,如果我不使用 sam
我正在尝试使用 sammy 和 Mustache 模板编写我的第一个 Web 应用程序。该模板似乎无法正确呈现(双括号中的变量不会被值替换)。这是index.html 的相关部分--
如何强制 sammy.js 识别网址 /Brief与 /brief 相同? this.get('/brief', function(context) { console.log("BRIEF"
我最近使用 sammy.js 框架构建了一个网站。该站点包括一个投资组合页面,其中包含一个缩略图网格,可链接到每个投资组合的详细信息页面。所有这些都有效。 我似乎无法弄清楚该怎么做是能够向某人提供网站
我将 sammy.js 与 ASP.NET MVC 后端一起使用。我有一条这样的路线: this.get("#/member/inbox", function (context) {
Twitter bootstrap accordion not working with Sammy.js 是一个类似的问题,但从未得到回答。 我正在创建一个附加的 Twitter Bootstrap
我在 asp.net mvc 中将 sammy.js 用于单页应用程序。 一切都很好,但我遇到了一个问题,就是无法重新加载页面。 例如,当我在仪表板中时,我的 URL 是 http://localho
我正在使用 sammy.js ,我已经知道如何将这个 url “切割”成几个部分: drafts 通过 this.get('#/label/:name', function(context) {
我是一名优秀的程序员,十分优秀!