Amir Alsaeed نشر 21 مارس 2021 أرسل تقرير نشر 21 مارس 2021 (معدل) أستخدم Angular مع لارافيل ولكن ظهرت مشكلة في تحويل المسارات ضمن واجهات التطبيق، فعند تعريف مسار محدد بالشكل: $routeProvider.when('/image/:imageId', { controller: 'imagePageController', templateUrl: 'views/image.html' }); وباستخدام الوسم a: <a href="/#/images/{{image.id}}">Show Image</a> يتم تحويل العلامات " / " الموجودة في المسار إلى القيمة "%2F" فيصبح الرابط على الشكل التالي: http://localhost:8000/#%2Fimage%2F1 ولا يتم الحصول على القيم أو الواجهات بالشكل الصحيح. حاولت استخدام ng-href بدلاً من الوسم a ولكن بقيت نفس المشكلة. كيف يمكنني حل هذه المشكلة؟ تم التعديل في 21 مارس 2021 بواسطة Amir Alsaeed اقتباس
0 Sam Ahw نشر 21 مارس 2021 أرسل تقرير نشر 21 مارس 2021 يتم تحويل العلامة / إلى %2F ضمن الترميز المستخدم في المسارات والذي يدعى percent-encoding، والسبب في هذه المشكلة أنه عند التحديث إلى نسخة Angular 1.6 يجب تغيير المسارات الافتراضية الموجودة ضمن خدمة المسارات $location أي استخدام locationProvider لتصبح بالشكل التالي: appModule.config(['$locationProvider', function($locationProvider) { $locationProvider.hashPrefix(''); }]); وأيضاً يوجد حل آخر من طرف العميل بإضافة العلامة ! قبل مسار التوجيه لتصبح بالشكل التالي: بدلاً من #/path/new تصبح كالتالي: #!/path/new 1 اقتباس
السؤال
Amir Alsaeed
أستخدم Angular مع لارافيل ولكن ظهرت مشكلة في تحويل المسارات ضمن واجهات التطبيق، فعند تعريف مسار محدد بالشكل:
$routeProvider.when('/image/:imageId', { controller: 'imagePageController', templateUrl: 'views/image.html' });
وباستخدام الوسم a:
يتم تحويل العلامات " / " الموجودة في المسار إلى القيمة "%2F" فيصبح الرابط على الشكل التالي:
http://localhost:8000/#%2Fimage%2F1
ولا يتم الحصول على القيم أو الواجهات بالشكل الصحيح. حاولت استخدام ng-href بدلاً من الوسم a ولكن بقيت نفس المشكلة. كيف يمكنني حل هذه المشكلة؟
تم التعديل في بواسطة Amir Alsaeed1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.