سؤال

وأنا جديدة على AJAX، ولكن كما لمحة عامة أود أن أعرف ما تنسيقات يمكنك تحميل وتنزيل. هل تقتصر على JSON أو XML أو حتى يمكنك إرسال أنواع الثنائية مثل MP3 أو UTF-8 HTML. وأخيرا، هل لديك السيطرة الكاملة على البيانات، بايت بايت في شيء من هذا القبيل صفيف بايت، أو ليست سوى سلسلة أرسل / استقبل.

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

المحلول

إذا كنا نتحدث عن اياكس نحن نتحدث عن جافا سكريبت؟ وحول مدعوم؟

وومدعوم التي ليست سوى طلب HTTP يمكن نقل كل شيء. ولكن ليس هناك مجموعة بايت في جافا سكريبت. فقط السلاسل والأرقام ومن هذا القبيل. كل شيء تحصل عليه من مكالمة اياكس هو قطعة من النص (responseText). التي يمكن تحليلها إلى XML (والتي تعطيك reponseXML). يجب أن تكون ترميزات خاصة أكثر من مسألة نقل HTTP.

والاشياء ثنائي لا اياكس يعتمد لكن جافا سكريبت تعتمد. هناك بعض ترميزات غريبة سلاسل لتقديم البيانات بايت داخل في جافا سكريبت (وخاصة للصور) ولكنه ليس حلا العام.

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

نصائح أخرى

ومنذ ويتم نقل البيانات عبر HTTP سيكون لديك للتأكد من أنك تستخدم نوعا من الترميز. واحدة من الاكثر شهرة هو base64 ترميز. يمكنك العثور على مزيد من المعلومات على العنوان التالي: http://www.webtoolkit.info/javascript-base64.html

وهذه المنهجية هي base64 في ترميز البيانات التي ترغب في إرسال وثم باستخدام Base64 فك شفرة البيانات على الخادم (أو العميل) واستخدام البيانات الأصلية كما كنت المقصود.

ويمكنك نقل أي نوع من البيانات إما سلسلة أو بايت

ويمكنك إرسال أي شيء تريد، قد تكون المشكلة كيفية التعامل معها بمجرد الحصول عليها.)

وستاندرد HTML هو على الارجح الاكثر شيوعا النوع من المحتوى اياكس في استخدام هناك - يمكنك اختيار ترميز الأحرف جدا، على الرغم من أنه من الأفضل دائما أن العصا مع نوع واحد من الترميز

وAJAX يعني ببساطة أنك نقل البيانات بشكل متزامن عبر HTTP مع دعوة جافا سكريبت. لذلك السيناريو الخاص بك يجعل "العادي" طلب HTTP باستخدام الكائن مدعوم (). لكن، وكما يوحي الاسم، انها حقا مناسبة فقط لصيغ البيانات النصية وبما انك تريد عموما لتنفيذ بعض الإجراءات على جانب العميل مع البيانات التي حصلت على العودة من الخادم (وإن لم يكن دائما، وأحيانا الناس فقط بإرسال XmlHttpRequests فقط ل تحديث شيء على الخادم).

وعلى الجانب علما، وأنا لم أر أبدا تطبيق حيث ترسل البيانات الثنائية يمكن أن يكون مناسبا على أي حال.

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

وماذا يرسل الملقم الخلفي هو بنفس القدر التعسفي كما. عادة، يمكنك تحديد وظيفة رد الاتصال في جافا سكريبت الخاصة بك والتي تعالج البيانات الواردة. مرة أخرى، والخيارات الشعبية هي XML و JSON، وتحليل بسهولة إلى كائن مستند أو بنية مجموعة التوالي. هل يمكن أيضا إرسال نص عادي أو بعض التعبئة والتغليف الأخرى ولكن تذكر أن لديك ثم لرعاية استخراج البيانات قابلة للاستخدام من ذلك بنفسك. في بعض الأحيان، فإنه يمكن أيضا أن تكون مفيدة لارسال شظايا HTML الفعلية للعميل لتحديث شيء على الصفحة مباشرة.

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

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

وهناك بوكسيز دخول مدونة بعنوان <لأ href = "HTTP: //blog.digg كوم /؟ p = 621 "يختلط =" نوفولو noreferrer "> DUI.Stream وMXHR أن يظهر قبالة ما يسمونه" متعدد الأجزاء XMLHttpRequests ". ذلك هو رمز ألفا الآن، ولكن هناك الذي يعالج الصور .

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