ExpressでNode.jsを使用して既存のWebサイトを書き直しています。Express JSでAjax用のRESTルートをバックボーン専用に設定する
サイトのフロントエンドはバックボーンJSを使用するため、すべての必要なルートをネイティブバックボーン同期に準拠させる必要があります。今や、URLのほとんどはクライアントとバックボーンの同期のために同じです。しかし、彼らはJSONを返す必要があるので、通常のGETでは動作しません。
だから私は考えていますが、そのような.json
として骨格中/コレクションのURLをモデル化するために拡張機能を追加することをお勧めだろう、とエクスプレスでは、すべてのルートのためにこれを持っている:
app.get('/p/:topCategory/:category/:product.:format', function(req, res) { ... });
if (req.params.id == 'json')
よりJSONを送信します。それ以外の場合はHTMLをレンダリングしますか?
さらに良い方法がありますか?助けてください。
お返事ありがとうございます。私はres.format()をExpressのドキュメントで見つけられませんでした。しかし、req.is( 'html')またはreq.is( 'json')が見つかりました。どちらか一方はうまくいくはずですが、res.format()は関数の方が良く見え、res.is()の場合はif/elseを使う必要はありません。 –
Express 3.xが新しく、サイトを更新する必要があるので、ドキュメントにはまだ載っていません(これは私が知る限りすぐに起こります)。 – alessioalex
voilà:http://expressjs.com/api.html#res.format – UpTheCreek