2017-12-19 35 views
0

申し訳ありませんが、私はこれに対して複数の戦略を試みてきましたが、私は不足しているようです。なぜこのコードがあるのでしょうか?(UPDATEDスクリプト)jQueryを使ってdiv内のejsファイルをインポートする

<script> 
$(function(){ 
    $('#actions-view').load('views/game_snippets/actions.ejs'); 
}); 
</script> 

わかりましたので、私はそれが私のnodejsアプリでこのコードで動作するようになった:

app.get('/actions.ejs', function(req, res){ 
    if (req.user) { 
    res.render('actions'); 
    } else { 
    res.redirect('/'); 
    } 
}); 

これで唯一の問題は、誰かが指定されたルートに行くことができますし、それだけで表示されるでしょうですレンダリングされたhtml。 nodejsがこの正確な目的のための関数を持っているのなら、私は不思議です。

+0

'$(function(){// code here});'のように読み込み呼び出しをラップし、このスクリプトの前にjqueryがロードされていることを確認してください。 –

+0

OPを更新しました。 404)は、 – William

答えて

1

元の問題を修正したので、ファイルを提供する前にリクエストがAjaxリクエストであったかどうかを確認できます。

ほとんどのフレームワーク(私はJQueryが動作し、AngularJsは間違いなく)要求のヘッダーをX-Requested-Withと設定しています。

コードをチェックインするには、if文の中にreq.xhrを入れてください。

リクエストがAjaxコールでない場合は、明らかに未定義になります。

+0

のように説明しています。このようなものですif(!req.xhr){// whatever //} else {res.render( 'file'); } '? – William

+0

それは正しいです。 – Adriani6

+1

私はその逆をやった。しかし、聖なる牛は、この頭痛を伸ばして私を救った。本当にありがとう! – William

関連する問題