سؤال

هل هناك أي شيء في رأس طلب HTTP يسمح لي بالتمييز بين مكالمة Ajax وطلب متصفح مباشر من عميل معين؟ هل عادة ما تكون سلاسل وكيل المستخدم هي نفسها بغض النظر؟

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

المحلول

إذا كنت تستخدم النموذج الأولي أو jQuery أو Mootools أو Yui ، فيجب عليك العثور على أ x-requested-with: xmlhttprequest رأس الذي سيفعل الخدعة لك. يجب أن يكون من الممكن إدراج أي رأس تريده مع المكتبات الأخرى.

في أدنى مستوى ، بالنظر إلى أ xmlhttprequest أو كائن XMLHTTP ، يمكنك تعيين هذا الرأس مع setRequestHeader الطريقة على النحو التالي:

xmlHttpRequest.setRequestHeader('X-Requested-With', 'XMLHttpRequest');

نصائح أخرى

بعد بعض الأبحاث ، يبدو أن أفضل طريقة هي تحديد سلسلة وكيل مستخدم مخصصة عند إجراء مكالمات AJAX ثم التحقق من سلسلة وكيل المستخدم المخصصة على الخادم.

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