小编nak*_*kwa的帖子

在CORS呼叫后,Express Session不会持续存在

TL; DR:

无法通过Express,Express-Session和Express-Cors在Backbone App和Node.js服务器之间执行的多个API调用之间保持会话持久性.看起来每次通话后会话都会重新初始化/丢失.

长版:

我正在运行客户端Backbone/React/Flux应用程序,在运行localhost:3000的Node.js服务器上执行以下调用localhost:4242:

Http电话

POST http:// localhost:4242/api/session

 RESPONSE HEADERS
 Content-Type application/json; charset=utf-8
 Set-Cookie connect.sid=s%3AFeNYY5GQGvkyRvOym7DhysprePaQr7xP.BrxOPP56k9pDpxQPvwjDFaxkEYoHU%2FAEtNUIXGltqjI; Domain=http://localhost:3000; Path=/
 Vary Origin
 X-Powered-By Express
 access-control-allow-credentials   true
 access-control-allow-orign http://localhost:3000
 [...]

 REQUEST HEADERS
 Accept application/json, text/javascript, */*; q=0.01
 Content-Type application/json; charset=utf-8
 Cookie connect.sid=s%3AjP4iADZvRnDHbJcCE8H81Zy6TIehj9BJ.eDOTw44GcHqq8i2dslBGd43tXMQ22ENl31fRizdC8iA
 Host localhost:4242
 Origin http://localhost:3000
 Referer http://localhost:3000/login
 [...]
Run Code Online (Sandbox Code Playgroud)

获取http:// localhost:4242/api/users

 RESPONSE HEADERS
 Content-Type application/json; charset=utf-8
 Set-Cookie connect.sid=s%3ARxf91_vLMBqzB6xN-0QFIIk_-SyBP9_8.F1Mr%2BVSkYNJ6MqnzO%2BsxxfwXRinIX6th80SoukG1QBM;Domain=http://localhost:3000; Path=/
 Vary Origin
 X-Powered-By Express
 access-control-allow-credentials   true
 access-control-allow-orign http://localhost:3000
 [...]

 REQUEST HEADERS
 Accept application/json, text/javascript, */*; q=0.01
 Content-Type application/json; …
Run Code Online (Sandbox Code Playgroud)

node.js cors express backbone.js express-session

14
推荐指数
1
解决办法
5063
查看次数

如何在rails 5中拯救ActionDispatch :: ParamsParser :: ParseError并返回自定义API错误?

每当针对我的仅使用API​​的Rails 5.x应用程序发送格式错误的JSON时,我都会收到异常,并且Rails将整个堆栈跟踪作为JSON返回.显然,我想回答一个很好的,自定义的,格式化的错误.

=> Booting Puma
=> Rails 5.0.0.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.6.0 (ruby 2.3.0-p0), codename: Sleepy Sunday Serenity
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop
Started POST "/api/v1/identities/" for ::1 at 2016-10-26 18:42:32 +0200
  ActiveRecord::SchemaMigration Load (0.3ms)  SELECT "schema_migrations".* FROM "schema_migrations"
Error occurred while parsing request parameters.
Contents:

{
    "whatever": …
Run Code Online (Sandbox Code Playgroud)

api ruby-on-rails rack-middleware rails-api ruby-on-rails-5

8
推荐指数
2
解决办法
4514
查看次数

Membership.GetUser(),无法连接到 SQL Server 数据库

我开始使用 ASP.net MVC4,并使用 Internet 应用程序模板创建了一个项目。

我在 UserProfile 默认模型和表中添加了一些自定义字段,我还将其重命名为“UserModel”,并且它工作得很好(登录、注册等)

我现在尝试向另一个实体执行 SQL 请求,因此我需要获取当前登录用户的 ID。我发现我必须用来Membership.GetUser()访问当前用户,但我现在完全陷入了这个错误:

     A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
Description: An unhandled exception occurred during the execution of the current web request. Please review the …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-membership asp.net-mvc-4

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

选择较少的 SQL 列会使请求更快吗?

我有一个 rails/backbone 单页应用程序处理大量 SQL 查询。

这是请求:

SELECT * FROM `posts` WHERE `thread_id` = 1
Run Code Online (Sandbox Code Playgroud)

比这个更快:

SELECT `id` FROM `posts` WHERE `thread_id` = 1
Run Code Online (Sandbox Code Playgroud)

选择未使用的列对查询执行时间的影响有多大?

sql

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

Rails ActiveResource 具有自定义 REST 集合架构?

我正在尝试设置一些在 active_resource gem (ActiveResource) 之上工作的 Rails 模型

module Core
    class RestResource < ActiveResource::Base
        self.format = :json
    end
end

module Core
    module API
        class BaseModel < ::Core::RestResource
        self.site = ENV['API_URI']
        self.headers['Api-Token'] = ENV['API_TOKEN']
        end
    end
end

module Core
    module API
        class MyModel < ::Core::API::BaseModel
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

我正在尝试运行 Rails 控制台,如下所示

2.3.1 :001 > MyModel = Core::API::MyModel
 => Core::API::MyModel 
2.3.1 :002 > MyModel.all
ArgumentError: expected an attributes Hash, got ["data", [{"first_name"=>"walter", "last_name"=>"white", "timestamp"=>1478515925}]]
    from /Users/nakwa/.rvm/gems/ruby-2.3.1/bundler/gems/activeresource-f4bec7f8f389/lib/active_resource/base.rb:1377:in `load'
    from /Users/nakwa/.rvm/gems/ruby-2.3.1/bundler/gems/activeresource-f4bec7f8f389/lib/active_resource/base.rb:1124:in `initialize'
    from /Users/nakwa/.rvm/gems/ruby-2.3.1/bundler/gems/activeresource-f4bec7f8f389/lib/active_resource/base.rb:1051:in `new' …
Run Code Online (Sandbox Code Playgroud)

api json ruby-on-rails activeresource

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

如何在PHP 5.x中实现Method Chaining?

我有为PHP 5.4.x编写的以下类.这应该像我期望的那样工作吗?

class SqlBuilder {
    private $dbTable;
    private $action;
    private $data;
    private $clause;

    public function toString() {
        // $sql = generate sql string
        // [...]
        return $sql;
    }

    [...]

    public function setClause($clause) {
        $this->clause = $clause;
    }

    public function setDbTable($dbTable) {
        $this->dbTable = $dbTable;
    }   

    public function setAction($action) {
        $this->action = $action;
    }
}   
$sql = (new \dbal\SqlBuilder())
            ->setAction($this->action)
            ->setClause($this->clause)
            ->setDbTable($this->dbTable)
            ->toString();
Run Code Online (Sandbox Code Playgroud)

我希望能够访问我的所有setter方法.相反,我看到以下错误:

致命错误:在非对象上调用成员函数toString()

这似乎有效:

$builder= new \dbal\SqlBuilder();
$builder->setAction($this->action)
$builder->setClause($this->clause)
$builder->setDbTable($this->dbTable)
$sql = $builder->toString();
Run Code Online (Sandbox Code Playgroud)

但我知道这也有效:

class Foo
{
    public $a …
Run Code Online (Sandbox Code Playgroud)

php method-chaining

-1
推荐指数
1
解决办法
161
查看次数