ExpressでNodeJSを使用しています。通常のブラウザ リクエストと AJAX リクエストの違いをどのように見分けることができますか? リクエスト ヘッダーを確認できることはわかっていますが、Node/Exprsss はこの情報を公開していますか?
33125 次
2 に答える
131
ほとんどのフレームワークはX-Requested-With
ヘッダーをXMLHttpRequest
に設定します。Express にはテストがあります。
app.get('/path', function(req, res) {
var isAjaxRequest = req.xhr;
...
});
于 2013-04-11T09:44:38.280 に答える
50
が設定されていない場合、req.xhr
たとえば Angularjs などのフレームワークで削除された場合、ヘッダーが JSON 応答 (または XML、または XHR が HTML ではなく応答として送信するもの) を受け入れることができるかどうかも確認する必要があります。
if (req.xhr || req.headers.accept.indexOf('json') > -1) {
// send your xhr response here
} else {
// send your normal response here
}
もちろん、ユースケースに合わせて2番目の部分を少し調整する必要がありますが、これはより完全な答えになるはずです.
理想的には、angular チームはそれを削除すべきではありませんでしたが、実際には CORS の飛行前の問題に対するより良い解決策を見つけたはずですが、それが今の残りの方法です...
于 2015-02-16T11:40:20.003 に答える