سؤال

عند استخدام مدعوم في جافا سكريبت، وأريد أن أرسلها إلى موقع خارجي، بدلا من واحد حيث يتم استضافتها ملف شبيبة. لإرساله إلى test.php على الخادم الحالي، وأود أن استخدام

request.open("POST", "test.php", true);

ولكن لarguemnt الثانية، كيف يمكنني إرسالها إلى موقع آخر. "example.com/test.php" بالبحث عن ملف على الخادم الحالي، و " HTTP: // سبيل المثال. كوم / test.php "justseems أن تفشل تماما.

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

المحلول

وأنت لا تستطيع لأسباب أمنية. انظر نفسه سياسة المنشأ للجافا سكريبت.

وهناك بعض الحلول التي تستغل الخلل المتصفح أو الحالات الزاوية، ولكن استخدامها لا ينصح.

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

نصائح أخرى

وهذا يبدو وكأنه حالة سيئة من نفس السياسة المنشأ ، يا صديقي:)

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

إذا كان لديك السيطرة على الخادم، يمكنك استخدام هذا الرأس في الرد HTTP، على الرغم من أنها قد لا تعمل مع جميع المتصفحات.

Access-Control-Allow-Origin: *
scroll top