小编Ric*_*son的帖子

如何用CSRF测试快递表格?

我正在尝试为我的服务器端表单验证编写测试,但我一直收到Forbidden错误.看起来这需要一个两步的过程.步骤1,从表单中获取CSRF值.步骤2,使用CSRF值发布到表单处理程序.但无论我如何尝试发布,我都会收到一个禁止的错误.

--full test:https://github.com/socketwiz/swblog/blob/master/test/contact.js#L57-L100

我试过改变以下行:https: //github.com/socketwiz/swblog/blob/master/test/contact.js#L85

.send({name: 'foo', 'X-CSRF-Token': token})

.set('X-CSRF-Token', token)

.set('Cookie', ['X-CSRF-Token=' + token])
Run Code Online (Sandbox Code Playgroud)

但我尝试的任何东西似乎都无法满足CSRF的要求.我越是尝试越复杂,这似乎是一件简单的事情.也许我说这一切都错了.有任何想法吗?

javascript express supertest

5
推荐指数
1
解决办法
2682
查看次数

为什么IE11在使用window.onbeforeunload时会抛出错误?

我已将问题解决为以下简单代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>IE test</title>
    <script src="https://code.jquery.com/jquery-1.11.3.js"></script>
    <script type="text/javascript" charset="utf-8">
      $( document ).ready(function() {
        $('.js-click').click(function(e){
          window.location.href = 'http://www.google.com/';
        });
        window.onbeforeunload = function(e){
          return 'moving on';
        };
      });
    </script> 
  </head>
<body>
  <a href="#" class="js-click">Google</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这在chrome中的预期效果没有警告或错误,但在IE11中,当您选择"留在此页面上"时会抛出以下错误:

File: 10.0.1.126:8080, Line: 10, Column: 11
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

javascript jquery internet-explorer

5
推荐指数
1
解决办法
2374
查看次数

如何防止骨干的默认操作?

我在Rails中有一个删除链接:

<%= link_to "#{image_tag("icons/icon_delete.png", :alt => "Delete")} Delete".html_safe, "#suppliers", id: supplier.id, class: "delete", :title => "Delete", :confirm => 'Are you sure?', :method => :delete %>
Run Code Online (Sandbox Code Playgroud)

我有一个捕获它的骨干事件(CofeeScript):

  events: ->
    "click a.delete": "deleteSupplier"

  deleteSupplier: (event) ->
    event.preventDefault()
    console.log("delete")
Run Code Online (Sandbox Code Playgroud)

所有这些都可以正常工作,只有当我在确认对话框中单击"确定"时,才会跟踪链接.任何想法如何防止这种情况?如果我从deleteSupplier返回false,则确认不再有效,这不是我所追求的.我希望确认工作正常,当我点击确定时,不要通过链接.

编辑:我忘了提到通过ajax get请求加载页面插入这些链接.我还通过删除:确认测试,它似乎没有任何区别.我相信它与通过ajax请求加载有关,但我认为如果是这样的话,事件甚至不会触发:(

jquery backbone.js

2
推荐指数
1
解决办法
2315
查看次数

AngularJS 1.2 ngRoute单元测试错误

我升级到angularjs v1.2,现在由于ngRoute我的单元测试失败了.我按照这里的更改http://docs.angularjs.org/api/ngRoute并在我的index.html文件中包含新脚本以及加载模块和我的应用程序工作正常:

--index.html

<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
Run Code Online (Sandbox Code Playgroud)

--app.js

var socketwizModule = angular.module('socketwizApp', ['ngRoute']);
Run Code Online (Sandbox Code Playgroud)

但我的测试失败,出现以下错误.

我尝试了以下几件事,但似乎没有任何工作,任何想法?

beforeEach(module('socketwizApp', ['ngRoute']));
Run Code Online (Sandbox Code Playgroud)

beforeEach(module('ngRoute'));
beforeEach(module('socketwizApp'));
Run Code Online (Sandbox Code Playgroud)

angularjs

2
推荐指数
1
解决办法
2938
查看次数