2013-08-20 6 views
5

तो अभी मैंने HTML5mode कॉन्फ़िगर किया है।html5mode angularjs में लॉगआउट यूआरएल?

$locationProvider.html5Mode(true); 
    $locationProvider.hashPrefix('!'); 

यह एक्सप्रेस के लिए मेरे middelware के अंत html5mode समर्थन करने के लिए

app.use(function (req, res) { 
    if (!req.path.match('/calendar|/user|/create|/profile')) { 
     return res.send(404); 
    } 
    res.render('home/index', { 
     currentUser: req.user 
    }); 
}); 

है और मेरे सभी यूआरएल क्रोम और Firefox 3.6 (जो मैं hashbang वापस आने का परीक्षण करने का उपयोग कर रहा) में अच्छा काम कर रहे हैं।

मेरा एकमात्र मुद्दा लॉगआउट मार्ग के साथ है। मेरा लॉगआउट एक सर्वर परस्पर संपर्क है। तो मैंने यह किया।

$rootScope.logout = function() { 
     window.location = '/logout'; 
    }; 

और इस फ़ंक्शन पर एनजी-क्लिक किया और यह क्रोम में लॉग इन करने के लिए काम किया। मैं हैशबैंग फ़ॉलबैक मोड में ऐसा करने के बारे में कैसे जाउंगा? यह फ़ायरफ़ॉक्स 3.6 में काम नहीं कर रहा है। धन्यवाद!

+0

आप '$ location.url ('/ logout') ' – zsong

+0

कोशिश कर सकते हैं यह पहली बात है जिसकी मैंने कोशिश की थी। Html5mode –

+0

में काम नहीं करता है या नहीं, ठीक है, मुझे लगता है कि आप ब्राउजर का पता लगा सकते हैं कि यह पुशस्टेट का समर्थन करता है या नहीं। यदि नहीं तो मैन्युअल रूप से '#!' जोड़ें। :) – zsong

उत्तर

11

इस तरह लिंक करने के लिए एक target = "_ स्व" जोड़ें:

<a href="/logout" target="_self">Logout</a> 

AngularJS एक लक्ष्य विशेषता के साथ लिंक की अनदेखी। यह यहां प्रलेखित है: HTML link rewriting (स्वयं के लिए खोजें)।

संबंधित मुद्दे