一个非常奇怪的问题.
在我的调试中,我发现console.dir(anArray)没有在浏览器的firebug控制台上输出当前值.
例如,
console.dir(anArray) //line 1
console.log(anArray[0].prop1) //line 2
code to change the value of anArray[0].prop1 //line 3
Run Code Online (Sandbox Code Playgroud)
anArray是一个javascript/json对象的数组,
在Firbug的控制台中,第1行输出新值,该值在第3行中设置,
和第2行是旧的价值,是我想要的.
唯一的解释是console.dir()是异步的,对吧?!
我的环境:Windows7,Firefox 6.0.2,firebug 1.9.1,javascript lib是DOJO(但我认为与它无关.)
谢谢.
我知道rails默认从rails3提供了CSRF保护.但我的Web应用程序是单页面应用程序,所有通信都依赖于ajax.
那么,如何在每个ajax调用之前从服务器获取CSRF令牌?或者我能做的就是取消CSRF保护,对吧?
注意:我们不使用任何rails视图来生成网页,甚至是主页,因此在.html或.erb中放置"<%= csrf_meta_tag%>"的解决方案无效.我们在一个页面内使用javascript框架.
我的环境:rails3.2.3,devise2.0.4,dojo1.7.2