أي طريقة ل php/codeigniter لقراءة عنوان URL ، عندما يكون مثل site.com/#/xyz ...؟

StackOverflow https://stackoverflow.com/questions/3627064

سؤال

في الأساس لدي موقع في الغالب على أيقاكس. عندما تقوم بتحميل النتيجة ، يظهر عبر Ajax ، ويتغير شريط عناوين عنوان URL من mysite.com ل mysite.com/#xyz/A_Random_Title.

A_Random_Title هو عنوان تنسيق صديق لكبار المسئولين الاقتصاديين المحملة ، ولكن الجزء المهم هو #xyz. xyz هو معرف النتيجة المحملة ويستخدم للاستعلام عن قاعدة البيانات مع.

هل هناك أي طريقة يمكن لـ Codeigniter قراءة عنوان URL الحالي من هذا القبيل؟ لا أقصد قراءتها بمجرد تحميل الصفحة ، لكن اقرأ طلبًا إليها ... آمل أن يكون ذلك منطقيًا!

شكرًا!

جاك

هل كانت مفيدة؟

المحلول

لا ، إنه متاح للمتصفح فقط, ، لذلك عليك التعامل مع JavaScript. لا يمكن للخادم قراءته.

تفسير:
في الأساس ، تتم معالجة مكون التجزئة لعنوان URL للصفحة (الجزء التالي لعلامة #) بواسطة المتصفح فقط - المتصفح لا يمرره أبدًا إلى الخادم. هذا للأسف هو جزء من معيار HTML وهو نفسه سواء كنت تستخدم IE أو أي متصفح آخر (ولهذه المسألة PHP أو أي تقنية من جانب الخادم الأخرى).

هذا ما ويكيبيديا يقول عن ذلك:

يعمل معرف الشظية بشكل مختلف عن بقية URI: وهي معالجته حصريًا من جانب العميل بدون مشاركة من الخادم. عندما يطلب وكيل (مثل متصفح الويب) موردًا من خادم ويب ، يرسل الوكيل URI إلى الخادم ، لكنه لا يرسل الجزء. بدلاً من ذلك ، ينتظر الوكيل أن يرسل الخادم المورد ، ثم يقوم الوكيل بمعالجة المورد وفقًا لقيمة الشظية. في الحالة الأكثر شيوعًا ، يقوم الوكيل بتمرير صفحة ويب وصولاً إلى عنصر المرساة الذي يحتوي على سلسلة سمة تساوي قيمة الشظية. سلوكيات العميل الأخرى ممكنة

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top