1

ほら。私は次の問題を抱えています:

私はこれを使います

res.writeHead(200, {
    "Content-Length": template["stylecss"].length,
    "Connection": "Close",
    "X-XSS-Protection": "1; mode=block",
    "Server": servername,
    "Content-Type": "text/css"
});

応答ヘッダーをクライアントに書き込みます。

しかし今、私は上記のコードを変更して、事前定義されたヘッダーを提供したいと思います。このようなもの:

var defresheads = {"X-Frame-Options": "deny"、 "X-Powered-By":servername};

res.writeHead(200, {
    defresheads,
    "Content-Length": template["stylecss"].length,
    "Connection": "Close",
    "X-XSS-Protection": "1; mode=block",
    "Server": servername,
    "Content-Type": "text/css"
});

スクリプトを実行すると、次のように表示されます。

/home/dontrm/dontrm.js:47
            defresheads,
                       ^
SyntaxError: Unexpected token ,

これを行う別の方法はありますか?

4

1 に答える 1

1

ヘルパー関数を使用して、次のようなヘッダーオブジェクトを連結します

function jsonConcat(o1, o2) {
    for (var key in o2) {
        o1[key] = o2[key];
    }
    return o1;
}

そして、これを次のように使用できます。

var defresheads = { "X-Frame-Options": "deny", "X-Powered-By": servername };
res.writeHead(200, jsonConcat(defresheads, {
    "Content-Length": template["stylecss"].length,
    "Connection": "Close",
    "X-XSS-Protection": "1; mode=block",
    "Server": servername,
    "Content-Type": "text/css"
}));
于 2012-11-17T13:01:27.823 に答える