مشكلCross-Origin XMLHttpRequest يظهر في المتصفح console
كود
http://www.w3schools.com/xm...بحث ولم افهم الكود
https://developer.chrome.co...ياخوان هل من كود موجود لتجربة عليه وشكرا
مشكلCross-Origin XMLHttpRequest يظهر في المتصفح console
كود
http://www.w3schools.com/xm...بحث ولم افهم الكود
https://developer.chrome.co...ياخوان هل من كود موجود لتجربة عليه وشكرا
هي حماية في المتصفحات فبحيث لاتعمل الا اذا كان السيرفير يسمح بذلك
ولكن يمكنك اضافة الهيدر Allow-Control-Allow-Origin: * لل response مثل ما تفعل هذه الاضافة
جرب نصبها وشغلها وسيعمل الطلب
بالنسبة لما يظهر لك : عزيزي في العادة طلبات اجاكس يتم عملها على نفس اسم النطاق او على موارد او ملفات موجودة ضمن النطاق نفسه وعندما تحاول عمل طلب لعنوان آخر يتم رفضه بالعادة وقد يتم قبوله اذا كان الموقع يسمح بذلك وهذا الغرض منه الحماية.
الكود الذي ارفقته يعمل بدون اخطاء ومشاكل وكما تلاحظ انه يستدعي ملفا داخل السيرفر بالنفس. وقد تكون انت قمت باستبداله بعنوان اخر كما ذكرت لك.
اريد جلب بيانات من موقع اخر الي موقعي عبر ذالك الكود هناك شروحات انجليزية الرابط فوق لكني لم افهم جيد طريقة العمل اعتقد انه يوجد طريقة لتجاوزه وشكرا
بالتأكيد يوجد بديل وهو استخدام لغة خادم او جهة-مضيف مثل PHP لقراءة الاستجابة من العنوان الخارجي ومن ثم معالجتها بالجافا سكريبت او بلغة الخادم نفسها.
والطريقة هو ان تقوم بعمل ملف خادم مثلا request.php في نفس سيرفرك وتضع فيه كود لقراءة استجابة عنوان معين. وتقوم انت بعمل طلب اجاكس للملف المحلي. وبهذه الخدعة تتمكن من قراءة العنوان الخارجي.
اذا كنت تعمل على PHP فالدالة المسؤولة عن قراءة الاستجابة لعنوان معين هي : file_get_contents ولطريقة استخدامها قم بمراجعة موقع PHP الرسمي.
أخي الكريم, الرابط الذي أشرت اليه من جوجل مخصص لإضافات متصفح كروم, ولا يصلح للفكرة التي تحاول القيام بها.
لا يمكنك إرسال طلب لصفحة عبر Ajax بشكل مباشر ما لم يوفر صاحب الموقع البيئة اللازمة, كالسماح بالطلبات من نوع XMLHttpRequest أو التعامل مع JSONP.
الحل؟ يجب أن تقوم بعمل ما يُسمى بـ API أو واجهة برمجية, وتجعل السيرفر الخاص بك هو ما يقوم بإرسال الطلب الى الصفحة التي تريدها ويعود لك بمحتوى الصفحة كنص HTML الى الـ API الخاصة بك ثم تعود بالناتج لتطبيقك.
أنت ستتعامل مع الـ API التي قمت بانشائها وتسمح باتصال من نوع XMLHttpRequest ويبقى التعامل فقط بينك وبين السيرفر الخاص بك.
غير ذلك, المتصفح "كروم" لن يسمح بعمل اتصال عبر الأجاكس لأي صفحة ويب أخرى تحت بند Same Origin Policy, لكن يسمح لذلك عبر إضافات المتصفح.
التعليقات