كيف يمكنني الحصول على ملف XML بتنسيق XML (وليس سلسلة) باستخدام Ajax في Prototype.js؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

هذا الكود من النموذج الأولي.js.لقد ألقيت نظرة على ما يقرب من 20 برنامجًا تعليميًا مختلفًا، ولا أستطيع معرفة سبب عدم نجاح ذلك.الرد الذي أحصل عليه فارغ.

new Ajax.Request(/path/to / xml / file.xml, {
   method: "get",
   contentType: "application/xml",
   onSuccess: function(transport) {
      alert(transport.responseXML);
   }
});

إذا قمت بتغيير responseXML ل responseText, ، ثم ينبهني إلى ملف XML كسلسلة.هذه ليست صفحة PHP تخدم XML، ولكنها ملف XML فعلي، لذلك أعرف أنه ليس رؤوس الاستجابة.

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

المحلول

إذا كانت قيمة Transport.responseXML فارغة ولكن لديك قيمة لـ Transport.responseText، فأعتقد أن السبب هو أنه ليس ملف XML صالحًا.

يحرر: لقد لاحظت للتو أنه في الكود الخاص بنا هنا عندما نطلب ملف XML، نقوم بتعيين نوع المحتوى على "نص/xml".ليس لدي أي فكرة عما إذا كان ذلك يحدث فرقًا أم لا.

نصائح أخرى

أريد فقط مشاركة فترة ما بعد الظهيرة في العمل على هذه المشكلة بنتيجة NULL لـ ResponseXML استجابات.كانت نتائجي تمامًا كما هو موضح في السؤال:تمت تعبئة ResponseText بملف XML، وكان ResponseXML NULL.وبما أنني كنت متأكدًا تمامًا من أن الملف الخاص بي بتنسيق XML صالح، فيجب أن يكون الخطأ في مكان ما مختلفًا.

كما ذكر في النموذج الأولي v1.7 الوثائق، قمت بتعيين نوع المحتوى إلى "التطبيق/إكس إم إل".كان الرد المرسل دائمًا "نص/html"، مهما كان الأمر.

باختصار، المشكلة التي واجهتها هي أن ملف XML الخاص بي كان له النهاية ".gpx" لأنه معيار فعلي لإحداثيات نظام تحديد المواقع العالمي (GPS).مجموعة أنواع mime الخاصة بتثبيت XAMPP Apache المحلي الخاص بي تتوقع فقط النهايات "xml" و"xsl".بعد إضافة "gpx" وإعادة تشغيل الخادم، أصبح البرنامج يعمل بسلاسة كما يفترض أن يكون.

في حالتي هناك ثلاثة حلول:

1) قم بتحرير ملف "mime.types" الخاص بـ Apache.باستخدام تثبيت XAMPP، قد تجده ضمن "C:\xampp\Apache\conf\mime.types".ابحث عن سجل "application/xml" وقم بالتغيير كما يلي:

application/xml xml xsl gpx

لا تنس إعادة تشغيل الخادم!

2) أضف نوع التمثيل الصامت في أ .htaccess من المجلد المناسب.افتح أو أنشئ ملف .htaccess وأضف السطر التالي:

AddType application/xml xml xsl gpx

3) أثناء عملية التحميل، قم بتغيير نوع الملف إلى "xml" بدلاً من أي نوع لديك

آمل أن أكون آمنًا في بعض الوقت لأحدكم يا رفاق.

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