سؤال

أحاول إطلاق طلب لبعض البيانات من موقع ويب خارجي مع واجهة برمجة تطبيقات.

إذا قمت بنسخ ولصق الطلب في متصفح الويب الخاص بي ، فإنه يعمل بشكل جيد.مثال مثل (http://example.com/json/user/search/all) أستطيع أن أرى النتائج في نافذة المتصفح.

ومع ذلك ، أحاول تشغيل هذا الاستعلام من موقع ويب وأواجه مشكلة:باستخدام بعض جافا سكريبت مثل هذا:فار ريق = جديد زملتبركست ();مسا.فتح ('الحصول على' ، أعلاه ، صحيح) مسا.إرسال()

أحصل على خطأ يقرأ:لا يسمح الأصل (ميدومين) عن طريق التحكم في الوصول تسمح الأصل.

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

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

المحلول

لا يسمح لك أن تفعل عبر الموقع زملتبركستس وتحتاج إلى استخدام وكيل لتحقيق ذلك.

هذه المقالة من ياهو يشرح ذلك بالتفصيل ويعطي المزيد من الأفكار حول كيفية حلها.ولكن في الأساس لا ينبغي أن يتم ذلك لأن هذا التقييد موجود لأغراض أمنية.

سيكون من الأفضل إذا كنت تستخدم فب و fopen() على سبيل المثال ، ودعا ببساطة تلك الصفحة باستخدام كائن زملتبركست الخاص بك.

نصائح أخرى

تكمن المشكلة في سياسة المصدر نفسه .هذه قاعدة تشير إلى أنه لا استخدام طلبات XMLHTTPRequests إلا في نفس النطاق مثل الصفحة الأصلية.هذا لأسباب أمنية.

أسهل طريقة للتغلب عليها هي كتابة نص برمجي من جانب الخادم يقوم بتوكيل الطلب نيابةً عنك.

هذا هو حماية المتصفح الخاص بك ضد البرمجة النصية عبر الجانب.لا يسمح لك بالوصول إلى صفحات أخرى تأتي من مجال مختلف.

تحرير: تحقق أيضا من هذا: الموقع المتبادل Xmlhttprequest

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