AngularJS URL में सभी स्लैश% 2F में बदल गए




laravel href (4)

पार्टी में थोड़ा लेट हो गया लेकिन 'जोड़!' आपके URL ठीक काम करेंगे। इसने मुझे थोड़ा परेशान किया। यह नवीनतम AngularJS 1.6.x में एक बदलाव है और मैंने कहीं पढ़ा कि Google को SPAs की आवश्यकता है कि ''! हैश के बाद। परिणामस्वरूप मेरे मार्ग वैसे ही दिखते हैं जैसे उन्हें चाहिए लेकिन मेरा नेविगेशन सुनिश्चित करता है कि मैं 'जोड़ दूं!' मेरे संदर्भ में। उदाहरण के लिए:

<ul>
    <li><a href="#!/">Home</a></li>
    <li><a href="#!/page2">Page 2</a></li>
    <li><a href="#!/page3">Page 3</a></li>
    <li><a href="#!/page4">Page 4</a></li>
</ul>

मैं आशान्वित हूं कि इससे आपको सहायता मिलेगी।

सादर!

मुझे AngularJS रूटिंग के साथ एक बड़ी समस्या है।

निम्नलिखित मार्ग के साथ हाल तक सब कुछ ठीक रहा है:

$routeProvider.when('/album/:albumId', {
    controller: 'albumPageController',
    templateUrl: 'views/album.html'
});

और href का उपयोग कर:

<a href="/#/album/{{album.id}}">Link</a>

हालाँकि, अब सभी स्लैश को %2F में एन्कोड किया जा रहा है।

इसलिए जब मैं लिंक पर क्लिक करता हूं, या localhost:8000/#/album/1 टाइप करता हूं localhost:8000/#/album/1 ब्राउजर में localhost:8000/#/album/1 , URL बदल जाता है:

http://localhost:8000/#%2Falbum%2F1

मैंने इसे ठीक करने के लिए कई चीजों की कोशिश की है:

Href के बजाय ng-href का उपयोग करना, विंडोज 10 पर लोकलहोस्ट के बजाय होमस्टेड लोकलहोस्ट ( href="#/album/{{album.id}}" मशीन) में ऐप चलाना / पहले (यानी href="#/album/{{album.id}}" ) का उपयोग न करना।

कोई भी सहायताकाफी प्रशंसनीय होगी!


मेरे लिए, मैंने समस्या तय की:

app.config(function($locationProvider) {

$locationProvider.hashPrefix('');
$locationProvider.html5Mode({
    enabled: false,
    requireBase: true
  });
});

<a href="#/mylink/"> <span>MyLink</span></a>

जो देते हैं: http://blablabla.co:8888/blabla#/mylink/

उममीद है कि इससे मदद मिलेगी।


सबसे सरल समाधान एक जोड़ने के लिए है ! क्लाइंट-साइड URL (यदि आप एचटीएमएल 5 मोड का उपयोग नहीं कर रहे हैं, जो कि आप शायद यहां करते हैं)।

क्लाइंट-साइड, इस तरह से URL अपडेट करें:

#/foo/bar > #!/foo/bar

और जब से आप # , सर्वर-साइड रूटिंग के साथ संघर्ष का कोई मुद्दा नहीं है । सब लोग खुश।









angularjs-1.6